Liebe alle,
ich blick nicht mehr durch, bitte um Hilfe: Was ist hier falsch?
Es soll eine HTML-Mail erzeugt werden, die inline ein Bild enthält. Als Alternative wird eine plain text Nachricht angeboten, und ein PDF-Attachment soll auch mitgeschickt werden.
Outlook gibt die Mail so wieder, wie sie sein soll. Es zeigt die HTML mit dem Bild an und zeigt an, dass ein Attachment vorhanden ist. Das Attachment lässt sich korrekt öffnen.
Nicht aber Pegasus und diverse Webmails, die ich getestet habe. Pegasus zeigt die HTML-Mail an, aber ohne das Bild (Auch nicht mit Sicherheits-Platzhalter). Es erkennt, dass zwei alternative message formats vorhanden sind, findet aber darüber hinaus nur ein attachment type unknown, erkennt also weder das JPG noch das PDF.
Hier ist der relevante Code:
---------------------------------------------------------------
---------------------------------------------------------------
$headers .= "
MIME-Version: 1.0
Content-type: multipart/mixed; boundary="$mime_boundary_1"";
$message = "
--$mime_boundary_1
Content-type: multipart/related; boundary="$mime_boundary_2"
--$mime_boundary_2
Content-type: multipart/alternative; boundary="$mime_boundary_3"
--$mime_boundary_3
Content-type: text/plain; charset=iso-8859-1
Content-transfer-encoding: 7bit
Content-description: Mail message body
$text_message
--$mime_boundary_3
Content-type: text/html; charset=iso-8859-1
Content-transfer-encoding: 7bit
Content-description: Mail message body
$html_message
--$mime_boundary_3--
--$mime_boundary_2
Content-type:image/jpeg;
name="header.jpg"
Content-ID: <".$header_img_id.">
Content-disposition: attachment;
filename="header.jpg"
Content-transfer-encoding: base64
$header_img_data
--$mime_boundary_2--
--$mime_boundary_1
Content-type:$attm_type;
name="".basename($attm_filename).""
Content-disposition: attachment;
filename="".basename($attm_filename).""
Content-transfer-encoding: base64
$attachment_data
--$mime_boundary_1--
";
mail($to,$subject,$message,$headers);
}
-------------------------------------------------------
-------------------------------------------------------
Und hier ist auch die raw message die Pegasus anzeigt:
...
MIME-Version: 1.0
Content-type: multipart/mixed; boundary="==Multipart_Boundary_1_xb4c34109a545adab07a54d98f5c11be7x"
X-Track: ZnJvb3psZTp3d3cua3dpa2suaW5mbw==
X-Qmail-Scanner-Message-ID: 118223751276814180@oak
X-Spam-Virus: No
X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on avocado
X-Spam-Level:
X-Spam-Status: No, score=-0.6 required=5.0 tests=ALL_TRUSTED,
HTML_IMAGE_ONLY_08,HTML_MESSAGE,HTML_TAG_EXIST_TBODY,HTML_TITLE_EMPTY
autolearn=disabled version=3.0.3
X-PMFLAGS: 570949760 0 1 PJY91L1R.CNM
--==Multipart_Boundary_1_xb4c34109a545adab07a54d98f5c11be7x
Content-type: multipart/related; boundary="==Multipart_Boundary_2_x9f4ed0e71ba7829960fee3bc6c68819cx"
--==Multipart_Boundary_2_x9f4ed0e71ba7829960fee3bc6c68819cx
Content-type: multipart/alternative; boundary="==Multipart_Boundary_3_x67aaacb0a36c5f010b2249ebc94b806dx"
--==Multipart_Boundary_3_x67aaacb0a36c5f010b2249ebc94b806dx
Content-type: text/plain; charset=iso-8859-1
Content-transfer-encoding: 7bit
Content-description: Mail message body
Das ist eine Testmail
Hier kommt Text
Hier müsste der Footer stehen
--==Multipart_Boundary_3_x67aaacb0a36c5f010b2249ebc94b806dx
Content-type: text/html; charset=iso-8859-1
Content-transfer-encoding: 7bit
Content-description: Mail message body
<html>
<head>
<title></title>
</head>
<body>
<P>
<TABLE style="WIDTH: 750px; BORDER-COLLAPSE: collapse">
<TBODY>
<TR>
<TD><IMG height=216 src="cid:cbceeca0bc4619ee0d9e0fb2acd9ab75@Gioia" width=758 align=left border=0></TD></TR>
<TR>
<TD style="PADDING-RIGHT: 15px; PADDING-LEFT: 15px; PADDING-BOTTOM: 15px; PADDING-TOP: 15px">
<H3>Das ist eine Testmail</H3>
<DIV><EM>Hier kommt Text</EM></DIV></TD></TR>
<TR>
<TD style="PADDING-RIGHT: 15px; PADDING-LEFT: 15px; PADDING-BOTTOM: 15px; PADDING-TOP: 15px">
<HR>
<STRONG>Hier müsste der Footer stehen</STRONG></TD></TR></TBODY></TABLE></P>
</body>
</html>
--==Multipart_Boundary_3_x67aaacb0a36c5f010b2249ebc94b806dx--
--==Multipart_Boundary_2_x9f4ed0e71ba7829960fee3bc6c68819cx
Content-type:image/jpeg;
name="header.jpg"
Content-ID: cbceeca0bc4619ee0d9e0fb2acd9ab75@Gioia
Content-disposition: attachment;
filename="header.jpg"
Content-transfer-encoding: base64
/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAYEBAQFBAYFBQYJBgUGCQsIBgYICwwKCgsKCgwQDAwM
DAwMEAwODxAPDgwTExQ ...
--==Multipart_Boundary_2_x9f4ed0e71ba7829960fee3bc6c68819cx--
--==Multipart_Boundary_1_xb4c34109a545adab07a54d98f5c11be7x
Content-type:application/pdf;
name="Newsletter_Dummy.pdf"
Content-disposition: attachment;
filename="Newsletter_Dummy.pdf"
Content-transfer-encoding: base64
JVBERi0xLjMKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFIvRmlsdGVyIC9GbGF0ZURlY29k
ZT4+CnN0cmVhbQp4nO1aS2/cNhC+61foVqnAsnw/j ...
--==Multipart_Boundary_1_xb4c34109a545adab07a54d98f5c11be7x--
---------------------------------------------------------------
---------------------------------------------------------------
Gruß und Dank (herzlichst)
Martin