2012-06-11 11 views
21

Quando si crea un Swift_Message è possibile avere sia un testo normale che una versione html dell'email. Ne imposti uno come corpo e quindi aggiungi l'altro come parte.HTML vs Testo normale come corpo nell'email

Qual è la differenza se imposto la versione HTML come corpo e testo normale come parte e viceversa?

$html_as_body = Swift_Message::newInstance() 
    ->setSubject($subject) 
    ->setBody($html, 'text/html') 
    ->addPart($plain, 'text/plain'); 

$plain_as_body = Swift_Message::newInstance() 
    ->setSubject($subject) 
    ->setBody($plain, 'text/plain') 
    ->addPart($html, 'text/html'); 

E per differenza, intendo che tipo di differenza avrà nei lettori di e-mail e così via?

risposta

13

Non dovrebbe esserci differenza, se solo Swift_Message segue la RFC ufficiale per la composizione della posta, che (AFAIK) imposta rigorosamente che il messaggio di testo normale deve essere predefinito (prima, corpo) ed eventualmente seguito dalla versione HTML.

Effettuare alcuni test, ovvero inviare gli stessi messaggi di posta elettronica in entrambe le configurazioni e vedere nel client ricevente qual è la fonte del messaggio.

Se vedi qualche differenza, in IMHO dovresti inviare definitivamente il corpo del testo in chiaro (prima) e la versione in HTML. Come al giorno d'oggi ci sono molti semplici client di posta, che ignorano/non riconoscono correttamente la versione HTML. Quindi, se lo metti come prima, c'è una possibilità che l'intero messaggio sia illeggibile per il destinatario.