2012-02-18 7 views
5

Uno de mis programas de correo se ve así:ActionMailer no enviar mensajes de correo electrónico correctamente si la: a campo tiene una coma

mail(:from => "Support Team <[email protected]>", 
    :to => "#{@user.alias} <#{@user.email}>", 
    :subject => 'Verification Email') 

Sin embargo, si el alias del usuario es "Foobar, Bar", entonces el correo electrónico realidad se envía a: Foobar, Bar <[email protected]>. es decir, a foobar y al compositor.

Creo que el problema es con la coma en "Foobar, Bar". ¿Esto necesita ser escapado o algo así?

Debe mi anuncio publicitario tener este aspecto en su lugar:

mail(:from => "Support Team <[email protected]>", 
    :to => @user.email, 
    :subject => 'Verification Email') 
+0

gracias mucho por esta pregunta. Estaba teniendo un momento difícil con un problema similar en. Gracias de nuevo. –

Respuesta

9

Ciertamente espacios (y posiblemente comas) en la parte del nombre de un encabezado de correo electrónico deben ser incluidos dentro de comillas.

Citando un nombre a veces es opcional, pero nunca prohibido, así que por simplicidad, intente:

mail(:from => "\"Support Team\" <[email protected]>", 
    :to => "\"#{@user.alias}\" <#{@user.email}>", 
    :subject => 'Verification Email') 

EDITAR Para completar, he añadido escaparon cotizaciones a from, ya que también debería ser necesario.

+0

Cualquier beneficio o desventaja si fuera simplemente ': from => support @ email.com' y': to => @ user.email'. ¿Esto afecta la capacidad de entrega de alguna manera? –

+1

La adición de nombres no afecta en absoluto la entrega (a menos que se haga de una manera no válida y traspasa el mensaje). Es una elección personal. Con la dirección "Para", solo es relevante usar un nombre si desea ayudar a los destinatarios a identificarse entre sí (o para ayudarlo a revisar los artículos enviados). Puede ser molesto recibir un mensaje con su propio nombre completado incorrectamente, por lo que podría ser mejor utilizar la dirección de correo electrónico en "Para". Incluir un nombre en "De" ayuda al destinatario a saber quién es usted. Por lo general, se ve mejor que solo una dirección de correo electrónico, por lo que si puede incluir su nombre en "De", lo haría. – SimonMayer

+0

Thanx buddy. solución gr8. –

Cuestiones relacionadas