2012-08-24 21 views
5

Parece que en el momento en que actualicé los rieles a 3.2.8, el cuerpo no se configura cuando creo y envío correos electrónicos. Ningún código alrededor de los anuncios publicitarios ha cambiado en este momento, con la excepción de ActionMailer también actualizando a 3.2.8.ActionMailer envía correos electrónicos con el cuerpo vacío

tengo beta_request_mailer.rb en app/mailers con el siguiente método:

def beta_request(request) 
    mail(
    :to => "#{request[:name]} <#{request[:email]}>", 
    :subject => 'Thanks for requesting an invite to xxxxx!' 
) 
end 

también tengo un archivo cuerpo que funcionaba bien: app/views/beta_request_mailer/beta_request_email.html.erb

El correo electrónico se está enviando muy bien, apenas sin ningún cuerpo. Al ejecutar en la consola, el objeto de correo que se creó en beta_request no tiene cuerpo al ejecutar mail.body. Si configuro un cuerpo manualmente, se envía.

¿Qué ha cambiado que no conozco?

Respuesta

1

solucionarse eliminando _email del nombre del archivo

+0

+1 Ahora me resulta obvio, pero tenía que asegurarme de que mi #action tuviera el mismo nombre que mi vista – you786

2

También conseguía correos electrónicos que llegaron bien y con el objeto correcto, pero sin contenido en el correo y se encontró que el uso de la .deliver! en lugar de solo el método .deliver curó el problema (aunque no sé por qué)

+2

. Debe tenerse en cuenta que 'deliver!' (En lugar de 'deliver') omite devoluciones de llamadas como correo electrónico [ interceptores] (http://guides.rubyonrails.org/action_mailer_basics.html#intercepting-emails), y por lo tanto debe usarse con precaución. – nickcoxdotme

1

Mi solución fue muy interesante.

  1. La aplicación Firstly my Rails 4 arroja un error sin el archivo de diseño de la aplicación de correo.

  2. He creado un archivo de diseño en blanco mailer.html.slim. Esto resultó en correos entregados pero sin contenido.

  3. solución fue añadir ==yield dentro mailer.html.slim

Obras como encanto. Espero que este sea tu problema y esto te ayudó.

Cuestiones relacionadas