ruby on rails - gratis - Envío de correo con dispositivo y servidor smtp de Gmail.
smtp relay gmail (2)
Estoy usando Devise: confirmable y: módulo recuperable para confirmar a un usuario y permitirle recuperar su contraseña si la olvida. Todo va bien, el correo se genera y puedo verlo en el registro del servidor, pero luego me encuentro con errores y el correo no se entrega en el buzón. La configuración SMTP para mi archivo environment.rb es:
require ''tlsmail''
Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:enable_starttls_auto => true, #this is the important shit!
:address => ''smtp.gmail.com'', #''localhost'',
:port => 587,
:tls => true,
:domain => ''mail.google.com'', # mail.customdomain.com if you use google apps
:authentication => :login,
:user_name => ''[email protected]'',
:password => ''_secret_password''
}
Si la dirección: es ''smtp.gmail.com'', obtengo el siguiente error:
SocketError (getaddrinfo: Name or service not known):
Si configuro la dirección: ''localhost'', obtengo el siguiente error:
Errno::ECONNREFUSED Connection refused - connect(2)
No sé qué significa esto: dirección, un novato para todo esto. Al ejecutar uname -a , me sale
Linux jatin-ubuntu 2.6.32-24-generic #38-Ubuntu SMP Mon Jul 5 09:22:14 UTC 2010 i686 GNU/Linux
En mi archivo / etc / hosts las entradas son:
127.0.0.1 localhost
127.0.1.1 jatin-ubuntu
*#74.125.93.109 smtp.gmail.com
#The above entry added by me*
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Cuando elimino el comentario de la dirección ''smtp.gmail.com'' en el archivo / etc / hosts, el siguiente error desaparece:
SocketError (getaddrinfo: Name or service not known):
y ahora el error es:
Errno::ECONNREFUSED Connection refused - connect(2)
No sé qué está mal, busqué en Google por los errores e intenté todo, pero nada vino al rescate. Tengo la gema ''tlsmail'' instalada y la gema ''correo'' también, y mi aplicación está en modo de desarrollo. Ayúdeme a corregir este error para que pueda continuar felizmente mi recorrido por los rieles y, si es posible, guíeme un poco sobre esto: aborde el tema en la dirección correcta para que entienda lo básico de esto. Gracias por adelantado
Probablemente el problema se explica aquí:
http://mail.google.com/support/bin/answer.py?answer=10336
Otros recursos:
Si aún tiene problemas con esto, intente usar estos ajustes:
require ''tlsmail''
Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.smtp_settings = {
:enable_starttls_auto => true,
:address => ''smtp.gmail.com'',
:port => 587,
:tls => true,
:domain => ''gmail.com'', #you can also use google.com
:authentication => :plain,
:user_name => ''[email protected]'',
:password => ''_secret_password''
}
Además, recomendaría poner estas configuraciones en su archivo config / environment / development.rb en lugar de environment.rb para que pueda especificar diferentes servidores de correo para cada entorno.