Usar la cuenta de Gmail con ActionMailer

Hay que reconocer que esta gente de Google se lo curra, y ofrecer acceso SMTP a nuestra cuenta de Gmail es todo un puntazo, sobre todo cuando estamos desarrollando prototipos, lejos de un postfix por ejemplo. El acceso es a través de SSL, con lo que, en principio, nuestra contraseña no corre peligro (más allá del estar escrita en un archivo de configuración local).

En mi caso, quería iniciarme en el ActionMailer de rails, el cual me ha parecido sencillísimo y potentísimo, y mi problema era la carencia de un servidor SMTP. Decidí utilizar el servicio de Google, pero mi sorpresa fue que el soporte de rails/ruby para SMTP no incluye “starttls”. La solución, crear un plugin de rails a mano con un par de ficheros:

  • vendor/plugins/action_mailer_tls/init.rb
  • vendor/plugins/action_mailer_tls/lib/smtp_tls.rb

El contenido de estos ficheros lo encontramos en esta página (o en la original japonesa). Una vez creado el plugin, sólo nos falta incluir la información de configuración. Ahora estoy con Rails 2.0.2, y he tenido que añadir las siguientes líneas dentro del fichero “configuration/enviroment.rb”:

config.action_mailer.delivery_method = :smtp

config.action_mailer.smtp_settings = {

:address => ‘smtp.gmail.com’,

:port => 587,

:user_name => ‘your_account@gmail.com’,

:password => ‘your_secret_word’,

:authentication => :plain

}

Si os da algún problema, no dudéis en preguntarlo en los comentarios.

2 comentarios en “Usar la cuenta de Gmail con ActionMailer

  1. Estoy intentado que mi aplicacion en ruby mande un correo hice todos tus pasos pero no me funciona, quisiera ver si me puedes ayudar en lo siguiente: como seria el model, el controlador y la vista para mandar un correo. Muchas gracias de antemano los pasos de crear los plugins ya los hice si me puedes ayuda????

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s