2012-02-18 5 views
5

Uno dei miei programmi di posta assomiglia a questo:ActionMailer non l'invio di messaggi di posta elettronica correttamente se il: a campo ha una virgola

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

Tuttavia, se l'alias dell'utente è "Foobar, Bar", quindi l'e-mail in realtà viene inviato a: Foobar, Bar <[email protected]>. cioè al foobar e al compositore.

Penso che il problema sia con la virgola in "Foobar, Bar". Questo deve essere sfuggito o qualcosa del genere?

dovrebbe essere il mio programma di posta simile a questa, invece:

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

grazie per questa domanda. Ho avuto un momento difficile con problemi simili in da. Grazie ancora. –

risposta

9

Certamente spazi (e possibilmente virgole) nella parte del nome di un'intestazione e-mail devono essere inclusi tra virgolette.

Citando un nome a volte è facoltativa, ma mai proibito, così per semplicità, provare:

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

EDIT Per completezza, ho aggiunto sfuggito citazioni per from, perché essi dovrebbero anche essere necessario.

+0

Eventuali vantaggi o svantaggi se fosse solo ': from => support @ email.com' e': to => @ user.email'. Ciò influisce in qualche modo sulla capacità di consegna? –

+1

L'aggiunta di nomi non ha alcun effetto sulla pubblicazione (a meno che non venga eseguita in modo non valido e che il messaggio venga cancellato). È una scelta personale. Con l'indirizzo "A", è rilevante solo l'uso di un nome se si desidera aiutare i destinatari a identificarsi a vicenda (o ad aiutarvi quando si esaminano gli articoli inviati). Può essere fastidioso ricevere un messaggio con il proprio nome completato in modo errato, quindi potrebbe essere meglio utilizzare l'indirizzo e-mail in "A". Includere un nome in "Da" aiuta il destinatario a sapere chi sei. In genere sembra migliore di un semplice indirizzo email, quindi se riesci a includere il tuo nome in "Da", lo farei. – SimonMayer

+0

Grazie amico. soluzione gr8. –