Salve a tutti,
ho un problema ad inviare email con ruby (da locale, per il momento). Vi anticipo che lavoro su sistema operativo Mac OS X 10.6, e ho l'ultima versione di ruby installata. Ho creato con rails un modello "user" e un modello "user_mailer" (più la view per il messaggio da inviare, e tutto il necessario per creare un utente, ma questo per ora non serve). Ho anche installato la gem smpt-lts.
Posto il codice dei vari file:
environment.rb
codice:
...
Rails::Initializer.run do |config|
...
config.action_mailer.delivery_method = :smtp
config.action_mailer.raise_delivery_errors = true
...
end
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:tls => true,
:domain => "http://memorialmatteucci.heroku.com/",
:user_name => "miagmailmail",
:password => "[mygmailpassword]",
:authentication => :plain
}
user_mailer.rb
codice:
class UserMailer < ActionMailer::Base
def signup_notification(user)
recipients "#{user.email}"
from "miagmailmail@gmail.com"
subject "Please activate your new account"
sent_on Time.now
body[:user] = user
body[:email] = user.email
end
end
Ovviamente ho creato user mediante scaffold (e tutto il resto), e possiede il campo email. Per testare, via console inizializzo un oggetto di tipo user, poi chiamo il metodo UserMailer.deliver_signup_notification(userInizial izzato), carica per un po' e poi ottengo la seguente risposta:
=> #<TMail::Mail port=#<TMail::StringPort:id=0x80f22c9c> bodyport=#<TMail::StringPort:id=0x80f2030c>>
Ovviamente so che sto spedendo da un account allo stesso account, sta di fatto che non arriva niente sulla mia cartella di gmail.
Cosa c'è che non va?