Depois de muito apanhar consegui configurar a página do oxenterails.com para enviar e-mails por meio do gmail.
Para tal tive que fugir da configuração padrão de mailer do radiant, pois não consegui fazer a configuração utilizando o plugin da radiant (http://github.com/radiant/radiant-mailer-extension/tree/master).
Primeiramente instalei o fork do plugin do ntalbott:
git clone git://github.com/ntalbott/radiant-mailer-extension.git \
vendor/extensions/mailer
Para enviar emails por meio do gmail é necessário instalar o plugin action_mailer_optional_tls. O problema que encontrei é que não existe script/plugin para aplicativos radiant. Então rodei o seguinte comando:
svn export http://svn.douglasfshearer.com/rails/plugins/action_mailer_optional_tls/ \
vendor/plugins/action_mailer_optional_tls
Como indicado em http://wiki.github.com/radiant/radiant/mailer-extension, após a linha ResponseCache.defaults[:logger] inseri o seguinte código de setup do ActionMailer:
ActionMailer::Base.smtp_settings = {
:tls => true,
:address => "smtp.gmail.com",
:port => 587,
:domain => "mailerserver.com.br",
:username => "maileruser@mailerserver.com.br",
:password => "mailerserverpassword",
:authentication => :plain
}
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.perform_deliveries = true
O body do mailer ficou no seguinte padrão:
<r:mailer:form name="contact">
<fieldset>
<legend>Contato</legend>
<r:error on="name">
<span class="error">Nome é necessário!</span><br />
</r:error>
<label for="name">Nome:</label>
<r:text name="name" required="true" /><br />
<r:error on="email">
<span class="error">E-mail é necessário!</span><br />
</r:error>
<label for="email">E-mail:</label>
<r:text name="email" required="true" /><br />
<label for="message">Mensagem</label><br />
<r:error on="message">
<span class="error">Por favor digite uma mensagem!</span><br/>
</r:error>
<r:textarea name="message" required="true" /><br /><br />
<input type="submit" value="Enviar!" />
</fieldset>
</r:mailer:form>
O yml do mailer ficou no seguinte padrão:
subject: Contato from_field: email redirect_to: /contact/thank-you/ recipients: - contact@mailerserver.com.br
Atente para o detalhe do redirect_to, criei uma página para retorno.
E o email ficou configurado segundo o padrão:
Olá, <r:mailer:get name="name"/> (<r:mailer:get name="email"/>): <r:mailer:get name="message"/>
Com estas configurações consegui fazer o mailer funcionar.
PS: desculpem pela demora nos posts, tempo é algo muito raro…
Filed under: Radiant, Ruby on Rails | Leave a Comment
No Responses Yet to “Enviando e-mail de contato no Radiant”