2010-09-25 9 views
7

He configurado la siguiente información.Correo electrónico de confirmación de idear en rails3 utilizando gmail no llegando

---------------------- 
config/environments/development.rb 
---------------------- 
29 ActionMailer::Base.delivery_method = :smtp 
30 ActionMailer::Base.perform_deliveries = true 
31 ActionMailer::Base.raise_delivery_errors = true 
32 
33 ActionMailer::Base.smtp_settings = { 
34  :enable_starttls_auto => true, #this is the important stuff! 
35  :address  => 'smtp.gmail.com', 
36  :port   => 587, 
37  :domain   => 'foo.com', 
38  :authentication => :plain, 
39  :user_name  => '[email protected]', 
40  :password  => '---' 
41 } 

legado Sin embargo, cuando envía el correo electrónico de confirmación webbrick imprime el correo electrónico en el registro sin ningún error, pero el correo electrónico no termine en mi bandeja de entrada o bandeja de entrada de correo no deseado.

¿Alguna idea?

EDIT:

I now get 

    Net::SMTPAuthenticationError (530 5.7.0 Must issue a STARTTLS command first. x13sm2646038bki.0 

):

me encontré con que

---------------------- 
config/environments/development.rb 
---------------------- 
17 # Don't care if the mailer can't send 
18 config.action_mailer.raise_delivery_errors = false 

se había establecido más arriba en el archivo de configuración. Sin embargo, ¿de qué se trata esto de emitir un comando STARTTLS?

SOLUCIÓN:

---------------------- 
config/environments/development.rb 
---------------------- 
26 require 'tlsmail' #key but not always described 
27 Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE) 
28 
29 ActionMailer::Base.delivery_method = :smtp 
30 ActionMailer::Base.perform_deliveries = true 
31 ActionMailer::Base.raise_delivery_errors = true 
32 
33 ActionMailer::Base.smtp_settings = { 
34  :enable_starttls_auto => true, #this is the important stuff! 
35  :address  => 'smtp.gmail.com', 
36  :port   => 587, 
37  :domain   => 'xtargets.com', 
38  :authentication => :plain, 
39  :user_name  => '-------', 
40  :password  => '-------' 
41 } 
42 

Brad

Respuesta

5

que tenían el mismo problema; en mi caso se debió a un error (Net :: SMTP no habla TLS, lo cual es requerido por gmail) y lo resolví como se explica en here.

+0

Super gracias. Eso funciona perfecto :) – bradgonesurfing

+0

¿Qué archivo tengo que editar al correo electrónico desde idee sign_up? – shibly

0

En lugar de apagar la verificación de certificado SSL a nivel mundial, se puede pasar un parámetro adicional para smtp_settings:

config.action_mailer.smtp_settings = { 
    :address    => 'smtp.example.com', 
    :port     => '25', 
    :domain    => 'example.com', 
    :user_name   => '[email protected]', 
    :password    => 'secret', 
    :authentication  => 'plain', 
    :enable_starttls_auto => true, 
    :openssl_verify_mode => OpenSSL::SSL::VERIFY_NONE, 
} 

También puede ser necesario para require 'openssl' para conseguir que la constante.

Esta solución también funciona con Pony, si incluye :openssl_verify_mode en el hash :via_options.

+0

Parece que tiene una coma adicional al final. – Noz

Cuestiones relacionadas