• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

email mit anhängen

magifix

Neues Mitglied
Code:
<?php
$empfaenger = "[B][email protected][/B]"; // Empfänger E-Mail Adresse
$betreff = "[B]E-Mail mit Anhang[/B]"; // Betreff

$dateiname = "[B]bild.gif[/B]"; // Dateiname
$dateiname_mail = "anhang.gif";

$id = md5(uniqid(time()));
$dateiinhalt = fread(fopen($dateiname, "r"), filesize($dateiname));

 // Absender Name und E-Mail Adresse
$kopf = "From: [B]Manfred Mustermann[/B] <[B][email protected][/B]>\n";
$kopf .= "MIME-Version: 1.0\n";
$kopf .= "Content-Type: multipart/mixed; boundary=$id\n\n";
$kopf .= "This is a multi-part message in MIME format\n";
$kopf .= "--$id\n";
$kopf .= "Content-Type: text/plain\n";
$kopf .= "Content-Transfer-Encoding: 8bit\n\n";
$kopf .= "[B]E-Mail mit Anhang[/B]"; // Inhalt der E-Mail (Body)
$kopf .= "\n--$id";
// Content-Type: image/gif, image/jpeg, image/png 
$kopf .= "\nContent-Type: [B]image/gif[/B]; name=$dateiname_mail\n";
$kopf .= "Content-Transfer-Encoding: base64\n";
$kopf .= "Content-Disposition: attachment; filename=$dateiname_mail\n\n";
$kopf .= chunk_split(base64_encode($dateiinhalt));
$kopf .= "\n--$id--";
mail($empfaenger, $betreff, "", $kopf); // E-Mail versenden
?>

Hallo,

ich möchte eine Mail mit mehreren Anhängen versenden.
Obigen Code habe ich verwendet, der geht auch für eine Mail
Nun weiß ich nicht wie ich mehrere anhängen kann.
Kann mir da jemand bitte weiterhelfen?
 
Erzeuge pro Anhang jeweils eigene Abschnitte für

Code:
$kopf .= "--$id\n";
$kopf .= "\nContent-Type: [B]image/gif[/B]; name=$dateiname_mail\n";
$kopf .= "Content-Transfer-Encoding: base64\n";
$kopf .= "Content-Disposition: attachment; filename=$dateiname_mail\n\n";
$kopf .= chunk_split(base64_encode($dateiinhalt));

natürlich mit jeweils eigenen Namen und Inhalten etc.pp.
 
Nein, das ist ja der Trenner zwischen den einzelnen Abschnitten damit die Mailprogramme das ordentlich auseinander nehmen können.
 
Wenn man es sich schon schwer machen möchte und nicht Zend_Mail benutzen möchte, dann wenigstens weniger umständlich:
PHP:
$base64_dateiinhalt = chunk_split(base64_encode($dateiinhalt));
$kopf = <<<MIME
From: Manfred Mustermann <[email protected]>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=$id

This is a multi-part message in MIME format
--$id
Content-Type: text/plain
Content-Transfer-Encoding: 8bit

E-Mail mit Anhang
--$id
Content-Type: image/gif; name=$dateiname_mail
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=$dateiname_mail

$base64_dateiinhalt
--$id--
MIME;
 
phpMailer

Als Alternative kann das Problem auch sehr leicht mit der berühmten phpMailer-Klasse gelöst werden. Einfach mal googeln ;).
 
Zurück
Oben