2017-01-18 1 views
0

Ich erstelle eine App, die im Namen meiner App-Benutzer auf E-Mails antwortet. Diese E-Mails werden an meine Nutzer gesendet und von meiner App abgefangen, um automatisch auf ihre Kunden zu reagieren. Die E-Mails stammen von Dritten und enthalten Markenformatierung.Wie erstelle ich eine E-Mail-Antwort/Methode, um eine Antwort zu programmieren?

Meine PHP-Anwendung nimmt den vollständigen HTML-Code der E-Mail, speichert ihn in einer MySQL-Tabelle, erstellt dann eine Antwort und fügt den HTML-Code unter <hr/> am Ende der E-Mail an.

Das funktioniert und es sieht wie eine Antwort aus (was meine Absicht ist (obwohl ich einige Header-Details erstellen werde, damit es legitimer aussieht, als ob es in Outlook oder ähnlichem beantwortet wurde)).

Mein Problem ist jedoch, dass diese Methode die Antwortformatierung verletzt - es scheint Stile wie Zeilenhöhe von der ursprünglichen E-Mail-HTML am Ende der Antwort zu übernehmen.

Also meine Frage ist, wie erstelle ich eine Antwort-E-Mail? Tun Sie, was ich mache, und formatieren Sie meine Antwort besser, oder muss ich mehr mit dem vollständigen Original und nicht nur mit der HTML-Ausgabe machen. Und ist es überhaupt ok, HTML-Tags in einer E-Mail zu haben?

Ich würde es lieben, wenn die Antwort so etwas wie ist: die X aus der E-Mail extrahieren und eine Antwort mit der Open-Source-Y-Bibliothek bauen :)

EDIT: E-Mail Beispielen angefordert als

Dieser dritten Party E-Mail enthält einen Kopf, der wie folgt aussieht:

<html> 
<head> 
<style type='text/css'> 
body{font-family: arial,helvetica,sans-serif;} 
a{color: #06c;} 
p{margin:0;} 
#message{width:600px;margin:0 auto;} 
.legal{margin-top:2em;} 
.footer{margin-top:1em;padding:5px;background:#999999;color:#fff;} 
.footer a{color:#fff;} 
.senderName,.label{font-weight:bold;} 
.link,.label,.hint{margin-top: 20px;} 
.header-separator{height:4px;background-color:#e4002b;width:100%;margin-top:17px;} 
tr,td{vertical-align:top;text-align:left;} 
img{border:0;} 
${css!""} 
</style> 
</head> 
<body> 
<div id='message'> 
... 

Und meine Benutzer E-Mail-Vorlagen (in TinyMCE gebaut) so etwas wie folgt aussehen:

<p><span style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: 14pt;">Dear [name],</span></p> 
<p><span style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: 14pt;">Thanks for your enquiry 
... 

Als ich die E-Mail an den E-Mail-Dienst senden ist es so einfach:

$emailreply = $userTemplate . '<hr/>' . $originalEnquiry; 

Sicher, das ist nicht gut genug? Dies ist auch die E-Mail, die ich erwähnt habe, wo die Zeilenhöhe betroffen ist - also senden meine Benutzervorlagen nicht wie vorgesehen.

+0

Könnten Sie die Markup einer der E-Mails veröffentlichen? Dies würde helfen, Ihr Problem zu verstehen. –

+0

Möchten Sie den ursprünglichen E-Mail-Stil beibehalten oder ändern? –

+0

Ich möchte, dass es gleich aussieht. – Warren

Antwort

0

Es ist irgendwie selten der Fall auf der 3rd-Party-E-Mail, <style > Tag getrennt zu haben, wenn das übliche Verfahren auf HTML-E-Mail-Entwicklung ist inline alle Arten einzurichten.

Es ist irgendwie logische, dass diese Stile (von dem <style >-Tag werden den neuen Code zu beschädigen, die hier die beste Wahl all das Styling zu machen ist (aus dem 3rd-Party-E-Mail) inline, so dass Sie den <style > Tag entfernen können, Halten Sie beide E-Mail-Stile getrennt.

Wie Sie gesagt PHP App, ich glaube, Sie einige der folgenden verwenden:

Und stellen Sie sicher, ob die gewählte Eines der obigen Tools entfernt nicht das <style>...</style> Tag, entfernen Sie es selbst (Sie können tun es mit regulären Ausdrücken).

Hoffe, das hilft, viel Glück

Verwandte Themen