Next Previous Contents

19. <6.1>: E-post

Hva er vel en webapplikasjon som ikke kan spamme brukerne sine?

  1| require 'net/smtp'
  2| til = 'kent_dahl@hotmail.com'  # Ikke /dev/null, men nært nok.
  3| fra = 'dittbrukernavn@isp.no.invalid'
  4| Net::SMTP.start('smtp.server.et.sted.invalid') do |smtp|
  5|   tekst = [ "To: #{til}\n", 
  6|     "Subject: En liten test e-post\n", "\n",
  7|     "Hei, hei, alle sammen. Har vi det bra dere?\n"
  8|   ]  
  9|   smtp.sendmail( tekst,  fra, [til] )
 10| end 

Vi angir mottakerne med en Array, slik at vi kan sende en e-post til flere om gangen. I dette tilfellet kunne vi sendt en String direkte, siden det bare var en.

Dersom man skal skrive en stor e-post og ikke ønsker å bruke så mye minne på å bygge den opp i en String eller Array før man sender, kan man benytte instansmetoden Net::SMTP#ready etter å ha startet koblingen. Den tar en blokk med et argument, et adapter-objekt som du kan skrive til fortløpende.


Next Previous Contents