Actualmente me encuentro con un problema al enviar correos electrónicos desde ActionMailer. Intento añadir un encabezado personalizado a cada correo electrónico enviado desde mi sistema, independientemente de qué correo electrónico provenga. El encabezado contiene información sobre qué persona está recibiendo el correo electrónico, por lo que no se puede configurar en los valores predeterminados del programa de correo, pero me gustaría evitar la necesidad de configurar este encabezado en cada correo individual.Modificar encabezados de un Correo :: Mensaje devuelto por ActionMailer
Esto es lo que he establecido actualmente:
candidates.each do |c|
mail = mailer_class.send(action.to_sym, c, params)
recip = email_recipients.create!(:contact => c, :subject => mail.subject)
mail.headers['X-SMTPAPI'] = {:unique_args => {:email_recipient_id => recip.id, :database => Apartment::Database.current_database },
:category => "#{mailer}-#{action}" }.to_json
mail.deliver
end
El problema es, el establecimiento de una tecla en el headers
hash de un Mail::Message
no parece cambiar nada.
Lo que encontrar una manera de establecer una cabecera ajustando manualmente la propiedad de la cabecera, así:
m.header = m.header.to_s + "\nBlah: Blah"
Pero para ser honesto, esto se siente un poco hacky. ¿Alguien sabe de un mejor patrón para lograr esto?
¿Está enviando json por encabezados smtp? – farnoy
Sí. Un poco raro, pero eso es dictado por un proveedor que estoy usando. –