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(userInizializzato), 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?
on 2010-01-19 19:49
on 2010-01-20 09:20
Il 19 gennaio 2010 19.49, Emanuele Bastianelli <manu.reeko@gmail.com> ha scritto: > Ovviamente so che sto spedendo da un account allo stesso account, sta di > fatto che non arriva niente sulla mia cartella di gmail. ciao, occhio che gmail spesso non mostra i messaggi mandati a sé stessi da fuori, io una volta ci sono impazzito tentando di configurare postfix (provavo a spedire a me stesso per vedere se arrivava e non arrivava mai...). Ti consiglio di provare con un indirizzo non gmail. pietro
on 2010-01-20 10:16
Mmm, ho provato a spedire ad un mio account hotmail, ma purtroppo non funziona lo stesso. Mi chiedo se ci sia qualche problema con le impostazioni, o addirittura con il sistema. Non so proprio dove andare a parare...
on 2010-01-20 10:40
Il 20 gennaio 2010 10.16, Emanuele Bastianelli <manu.reeko@gmail.com> ha scritto: > Mmm, ho provato a spedire ad un mio account hotmail, ma purtroppo non > funziona lo stesso. Mi chiedo se ci sia qualche problema con le > impostazioni, o addirittura con il sistema. Non so proprio dove andare a > parare... Cercando velocemente su un forum trovo che (forse) bisogna configurare: :enable_starttls_auto => true poi, qui: http://teapoci.blogspot.com/2008/04/action-mailer-with-gmail-or-another.html vedo che :domain è impostato a "gmail.com". Ma piuttosto che fare mille tentativi a caso, proverei a farmi stampare in qualche modo l'output che ricevi da gmail, probabilmente c'è un messaggio d'errore che ti può guidare verso la soluzione. pietro
on 2010-01-20 11:08
Si sicuramente...adesso mi devo informare su come stampare l'output ricevuto da gmail, non sono molto ferrato su queste cose. Nel link che mi hai dato vedo che richiede smtp_tls, ma purtroppo quando cerco di installare la gem smtp_tls mi viene detto che bisogna avere la versione precedente di Ruby (la 1.8.6, io ho la 1.8.7)...
on 2010-01-20 11:32
On Wednesday 20 January 2010 11:08:35 Emanuele Bastianelli wrote: > Si sicuramente...adesso mi devo informare su come stampare l'output > ricevuto da gmail, non sono molto ferrato su queste cose. Nel link che > mi hai dato vedo che richiede smtp_tls, ma purtroppo quando cerco di > installare la gem smtp_tls mi viene detto che bisogna avere la versione > precedente di Ruby (la 1.8.6, io ho la 1.8.7)... Hai provato a dare un'occhiata nei log di sistema? Penso che osx tenga i log di sendmail in: /var/log/mail.log Ciao Flavio
on 2010-01-22 21:49
Sono riuscito a risolvere. Ho messo nella libreria locale il file smtp_tls.rb e l'ho importato in environment.rb. Il problema era che hotmail in automatico respinge le mail da ip dinamici, quindi quelle inviate dal mio computer con sendmail non le accettava. Dopo aver importato smtp_tls gmail inviava anche a se stesso! :D
on 2010-01-25 11:50
Emanuele Bastianelli wrote: > Sono riuscito a risolvere. > Ho messo nella libreria locale il file smtp_tls.rb e l'ho importato in > environment.rb. > Il problema era che hotmail in automatico respinge le mail da ip > dinamici, quindi quelle inviate dal mio computer con sendmail non le > accettava. Dopo aver importato smtp_tls gmail inviava anche a se stesso! > :D Scusa mi diresti esattamente come hai fatto a risolvere il problema? Credo di avere lo stesso problema anch'io :-) In particolare: -dove lo trovo il file "smtp_tls.rb"? -una volta trovato in quale cartella lo metto? Grazie anticipatamente! Alex
on 2010-01-25 11:55
> Scusa mi diresti esattamente come hai fatto a risolvere il problema? > Credo di avere lo stesso problema anch'io :-) > In particolare: > -dove lo trovo il file "smtp_tls.rb"? ad esempio qui. Basta copiare e incollare il codice in un file chiamato smtp_tls.rb. http://www.koders.com/ruby/fid0BDA90145299691DD1B308E7252B492780BE1B55.aspx?s=socket > -una volta trovato in quale cartella lo metto? nella cartella della tu applicazione, sotto la directori lib/. That's all.
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.