Archive for Agosto 2009
ActionMailer e Gmail
A primeira vez que trabalhei com o ActionMailer estava utilizando configurações do Google Apps, e me bati um pouco até chegar ao plugin ActionMailerTLS. Posso dizer que me senti aliviado quando tudo estava funcionando após instalar o plugin.
Depois dessa primeira experiência utilizei o plugin mais algumas vezes, e se bem me lembro a última vez foi final do ano passado, 2008. Bom, hoje me deparei com uma tarefa em um projeto que estou desenvolvendo que em resumo dizia o seguinte: disparar e-mail para os usuários envolvidos na transação a cada atualização de status. Legal, nada muito complicado, a primeira coisa que me passou pela cabeça foi procurar o plugin no github. Chegando lá a primeira coisa que vejo:
This gem will only work on Ruby 1.8.6. If you’re on Ruby 1.8.7 and Rails >= 2.2.1, you don’t need this gem.
Esta gem funcionará apenas no Ruby 1.8.6. Se você está usando o Ruby 1.8.7 e o Rails >= 2.2.1, você não precisa dela.
Ótimo. Fui logo ler as notas mais abaixo no Readme. Em resumo, o Ruby 1.8.7 possui o suporte necessário as configurações TLS para funcionar com o Gmail (informação que eu desconhecia até então), funcionalidades estas que o plugin adicionava em versões anteriores. E o Rails a partir da versão 2.2.1 adicionou uma opção para ativar essa funcionalidade. Basta adicionar à sua configuração do ActionMailer a seguinte linha: :enable_starttls_auto => true. Veja abaixo como ficaria:
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:authentication => :plain,
:enable_starttls_auto => true,
:domain => 'my_domain',
:user_name => "my_username",
:password => "my_password"
}
Com essa modificação o Mailer já está funcionando perfeitamente com o Gmail.
Os commits relacionados estão aqui e aqui, e o ticket no lighthouse aqui.


