2013-09-26 7 views
17

Sto cercando di inviare email che visualizzano come da "My Name", piuttosto che "[email protected]"Rails ActionMailer "Pretty Nome" Impedisce Invia

Nella mia classe 'User_Mailer' Ho la linea :

default :from => "[email protected]"

Con che tutto funziona perfettamente. Lo cambio comunque a uno di sotto e non raggiunge mai il destinatario.

default :from => "Name <[email protected]>" 
default :from => '"Name" <[email protected]>' 
default :from => "\"Name\" <[email protected]>" 

... l'elenco potrebbe continuare.

Che cosa dovrebbe essere esattamente la sintassi per quella linea? Mi sento come se avessi provato tutto.

risposta

19

Non so se qualcosa si è perso nella trascrizione, ma mentre la prima alternativa può o non può andare bene, i secondi due non sono nemmeno la sintassi Ruby valida.

In ogni caso, se si guarda al Rails ActionMailer - format sender and recipient name/email address, la risposta accettata implica che è necessario citare la parte "nome" dell'indirizzo all'interno della stringa, come in '"Name" <[email protected]>'

Tuttavia, una risposta altamente upvoted a https://stackoverflow.com/a/8106387/1008891, suggerisce che le virgolette interne non sono necessarie e il tuo primo formato alternativo è perfettamente a posto.

Non ho trovato nulla nella documentazione di ActionMailer.

+0

Sì, c'era un errore di battitura nella domanda - era troppo stanco e alla fine del mio attacco. Sono sicuro che in effetti ho provato "Nome" <[email protected]> "molte volte, sono certo che non ha funzionato. Ad ogni modo, ora sembra. Davvero strano, o dormire o riavviare il server rota riparato! (o forse era solo un errore di battitura persistente.) –

+0

Questo è molto utile se vuoi fare un nome che è qualcosa come 'Ciao @ yall! <3', quindi puoi fare '" \ "Ciao @ yall! <3 \ "<[email protected]>" ' – Automatico

+0

Questo mi ha aiutato molto, grazie! –

6

Il tuo ultimo tentativo è molto vicino, devi solo sfuggire alla chiusura " attorno al nome.

default :from => "\"Name\" <[email protected]>" 
+0

Anche questo sembra funzionare! stranamente anche dopo un po 'di sonno ... C'era anche un errore di battitura nella mia domanda - sono sicuro che ci avevo provato. Non sono sicuro che se si dorme su di esso o il riavvio del server dei rails sia stato utile, ma qualcosa è cambiato. Saluti. –

0

mio codice come qui sotto e funziona benissimo

default from: "name<[email protected]>" 

nota:

  • non c'è spazio bianco seguito name

  • nessuno nome ascii non funziona, per esempio : charactor cinese