2016-04-30 4 views
1

ich die order.html Vorlage von hier heruntergeladen haben, zu erstellen:Der Versuch, eine E-Mail-Vorlage, Encoding Ausgabe

http://foundation.zurb.com/emails/email-templates.html

Und ich laden Sie die Datei in einen String, mit file_get_contents:

$mailbody = file_get_contents($template); 
$message = Swift_Message::newInstance("Email Template Test") 
    ->setFrom(array('[email protected]' => 'Notification Service')) 
    ->setTo("[email protected]") 
    ->setBody($mailbody,'text/html'); 
$mailResult = $swiftmail->send($message); 

jedoch Wenn ich es in Outlook 365 oder der w10 Mail-App anzeigen, ist die Codierung nicht korrekt. Es gibt eine Zeile in der Datei, die sagt:

<h4>What&apos;s Next?</h4>

Und in der empfangenen E-Mail erhalte ich:

What&apos;s Next?

Ich denke, der Grund, aus irgendeinem Grunde ist es Zugabe des &amp; Rechts nach der &. Also wirklich im Code sieht es so aus: What&amp;apos;s Next?, das macht es wie oben. Es ist nicht so in der Datei, also warum passiert das?

+0

Forschung über Entität Decodierung –

Antwort

1

Es sieht aus wie Sie Ihre E-Mail-Körper seine Charaktere hat bereits in HTML-Entitäten codiert und Swift tut das wieder gleich. Erstellen Sie Ihren Body ohne HTML-Entities (Was kommt als nächstes), als Nur-Text und lassen Sie Swift die Encodierung durchführen oder stellen Sie Ihren Body als html_entity_decode ($ mailBody) zur Verfügung.

+0

Aaah, macht SWIFT das? Gibt es das überhaupt, um das auszuschalten? – Chud37

0

Sie haben den Inhaltstyp auf text/html festgelegt, was korrekt ist. Das Problem scheint mit Outlook 365 oder der w10 Mail-Anwendung zu korrespondieren, die die hmtl-Entitäten nicht korrekt dekodiert.

Sie wahrscheinlich html_entity_decode benötigen, d.h .:

$mailbody = html_entity_decode(file_get_contents($template)); 
+0

Nein, es produziert immer noch die gleichen Ergebnisse :( – Chud37

+0

Ich weiß nicht viel über 'Swift_Message', ich benutze PHP-Mailer und es funktioniert einwandfrei https://github.com/PHPMailer/PHPMailer/ tree/master/examples –