Othmar: Mail mit PHP senden (mit Anhang und text)

Hallo zusammen

Das Mailing funktioniert soweit, dass ich ein attachment mit text versenden kann.
Mein Problem ist dass ich das Logo in den Text integieren möchte.
Ich habe gelesen das man bei Content-Disposition: das Attribut inline verwenden kann, aber beim emailclient erscheint es immer noch als attachment

Danke für Eure Hilfe

Othmar

$betreff = "Test Attachment";
$mail_to = "toblerideen@bluewin.ch";

$file = fopen("tobishop.jpg","rb");
$data = fread($file,filesize("tobishop.jpg"));
fclose($file);

$boundary = "TOBIMAIL";

$from_name = "Tobi Shop - Bestellung";
$from_email = "bestellung@tobishop.ch";

$head = "From: ". $from_name ."<".$from_email.">\n";
$head .= "Reply-To: <".$from_email.">\n";
$head .= "Return-Path: <".$from_email.">\n";
$head .= "MIME-Version: 1.0\n";
$head .="Content-Type: multipart/mixed;\n" ;
$head .= " boundary="{$boundary}"";

$inhalt = "--{$boundary}\n";
$inhalt .= "Content-Type:text/html; charset="iso-8859-1"\n";
$inhalt .= "Content-Transfer-Encoding: 7bit\n\n";
$inhalt .= "Test Email mit Text und Anhang.\n\n";
$inhalt .= "--{$boundary}\n";

$data = chunk_split(base64_encode($data));

$inhalt .= "--{$boundary}\n";
$inhalt .= "Content-Type: image/jpeg;\n";
$inhalt .= " name="tobishop.jpg"\n";
$inhalt .= "Content-Disposition: attachment;\n";
$inhalt .= "filename="tobishop.jpg"\n";
$inhalt .= "Content-Transfer-Encoding: base64\n\n";
$inhalt .= $data . "\n\n";
$inhalt .= "--{$boundary}--\n";

mail($mail_to, $betreff, $inhalt, $head);

  1. Hallo zusammen

    Moin!

    Mein Problem ist dass ich das Logo in den Text integieren möchte.
    Ich habe gelesen das man bei Content-Disposition: das Attribut inline verwenden kann, aber beim emailclient erscheint es immer noch als attachment

    Dafür musst du eine HTML-Mail verfassen. Im <img>-Tag kann man das Bild dann referenzieren, mit <img src="CID:bild1"> verweist du auf das Bild mit der ID bild1; die ID muss im Subheader des Bildes angegeben werden: Content-ID: bild1;

    $inhalt .= "Content-Type:text/html; charset="iso-8859-1"\n";
    $inhalt .= "Content-Transfer-Encoding: 7bit\n\n";

    Sieht gut aus.

    $inhalt .= "Content-Type: image/jpeg;\n";
    $inhalt .= " name="tobishop.jpg"\n";
    $inhalt .= "Content-Disposition: attachment;\n";
    $inhalt .= "filename="tobishop.jpg"\n";
    $inhalt .= "Content-Transfer-Encoding: base64\n"

    $inhalt .= "Content-ID: bild1;\n\n";

    $inhalt .= $data . "\n\n";
    $inhalt .= "--{$boundary}--\n";

    mail($mail_to, $betreff, $inhalt, $head);

    Danke für Eure Hilfe

    Othmar

    Hoffe das funktioniert so,
    Robert