Tengo toda la configuración de la aplicación en environment.rb asÃ:
RAILS_GEM_VERSION = ‘1.2.1’
require File.join(File.dirname(FILE), ‘boot’)
Rails::Initializer.run do |config|
end #mis configuraciones
Y me gustarÃa usar las configuraciones especÃficas para desarrollo y
producción. Entonces mi duda es cómo se harÃa para que funcionase.
¿HabrÃa que borrar environment.rb y añadir #mis configuraciones a
environments/production.rb y environments/development.rb?
o habrÃa que dejar environment.rb y añadir las configuraciones del
ActionMailer a los environments/production.rb y
environments/development.rb
STARTTLS es un comando de ESMTP, utilizado para iniciar una
conexiónsegura entre dos servidores utilizando TLS (Transport Layer Security),
protocolo basado en SSL.
Es decir, que el servidor smtp.gmail.com pide que inicies una
conexiónsegura TLS. El problema es que actionmailer no soporta estas
conexiones seguras. Para poder hacerlo, parece que hay dos
posibilidades (yo no las he probado):
Instalar, por ejemplo, msmtp (programa con soporte TLS) y configurar
actionmailer para que use msmtp en lugar de sendmail [1]
Instalar el plugin actionmailer_tls [2], aunque no parece muy
“mainstream”.
Una
puntualización:
actionmailer no soporta TLS no porque utilice sendmail, si no porque
está implementado con Net::SMTP [1], librería que todavía no soporta
TLS. sendmail sí que soporta TLS [2], así que tal vez se pueda
configurar actionmailer para que utilice sendmail con TLS en lugar de
msmtp tal y como cuentan en la wiki. De hecho, prácticamente todos los
servidores de correo utilizados actualmente soportan TLS.
Todo esto es si quieres enviar los correos directamente desde tu
aplicación al servidor SMTP de gmail. Pero esto no tienes por qué
hacerlo así. Podrías utilizar otro servidor SMTP sobre el que tengas
cierto control (tiene que aceptar ser un “mail relay” para la
dirección que correo que envía). A éste servidor le enviarias el
correo sin TLS, de forma que éste a su vez se lo envíe al SMTP de
gmail, mediante TLS, claro.
Si, por ejemplo, tienes un hosting en dreamhost, este último escenario
es el más sencillo con diferencia. Envías con actionmailer a tu SMTP
de dreamhost, y éste, a su vez, entrega los correos directamente a
gmail.