PHP eMail Attachment - Anhänge in Mails

<?php
    // Mail-Adresse des Empfängers
    $to = "Empfaenger <empfaenger@domainname.de>";

    // Angaben zur Absenderadresse
    $from = "Absender <absender@domainname.de>";

    // Text, der in der eMail stehen soll
    $message_body = "Sie haben sich bei uns als Benutzer registriert...";

    // Erzeugen eines eindeutigen Trennstrings, durch den die einzelnen
    // Komponenten der Mail voneinanger getrennt werden.
    $msep = strtoupper (md5 (uniqid (time ())));

    // Header, der dem Mail-Client sagt wie der die Mail zu behandeln hat
    $header = // Absender wie gehabt
          "From: $from\r\n" .
          // Version des Mime-Types
          "MIME-Version: 1.0\r\n" .
          // Content-Type multipart/mixed sagt aus, dass die Mail aus
          // mehreren Teilen besteht. Mit Boundary wird eine Zeichenkette
          // angegeben, die als Trenner zwischen den einzelnen Teilen der
          // Mail genutzt wird.
          "Content-Type: multipart/mixed; boundary=\"$msep\"\r\n\r\n" .
          // Einleiten des ersten Teilabschnitts der eMail...
          "--$msep\r\n" .
          // Mime-Type und Kodierung des ersten Teils...
          "Content-Type: text/plain\r\n" .
          "Content-Transfer-Encoding: 8bit\r\n\r\n" .
          // und zuletzt der Inhalt des Abschnitts. (hier der Mailtext)
          $message_body . "\r\n";

    // Name der Datei, die als Attachment in die Mail eingefügt werden soll
    $dateiname = $_SERVER['DOCUMENT_ROOT'] . '/pic/logo_evocomp.jpg';
    // Größe der anzuhängenden Datei ermitteln
    $dateigroesse = filesize ($dateiname);
    // Datei zum lesen öffnen
    $f = fopen ($dateiname, "r");
    // Inhalt der Datei auf einen Schlag einlesen und zwischenspeichern
    $attached_file = fread ($f, $dateigroesse);
    // Datei wieder schließen
    fclose ($f);
    // Anhang mit MIME Base64 kodieren und nach jeweils 76 Zeichen einen
    // Zeilenumbruch einfügen (\r\n)
    $attachment = chunk_split (base64_encode ($attached_file));

    // Integration eines Anhanges in den Mail-Header
    $header .= // Startmarke für den Anhang
           "--" . $msep . "\r\n" .
           // Mime-Type des Anhangs
           "Content-Type: image/jpg; name=\"Logografik\"\r\n" .
           // Art der Kodierung (Base64, da die Datei im binärformat vorliegt)
           "Content-Transfer-Encoding: base64\r\n" .
           // Name der Datei, unter welcher der Anhang gespeichert werden soll.
           // Dieser Name wird in einem Speichern-unter-Dialog als Voreinstellung
           // gesetzt.
           "Content-Disposition: attachment; filename=\"Logo.jpg\"\r\n" .
           // Beschreibung des Anhangs
           "Content-Description: Logografik als Anhang\r\n\r\n" .
           // zum Schluß muss die bereits zuvor kodierte Datei angehängt werden.
           $attachment . "\r\n";

    // Ende des letzten Anhangs markieren
    $header .= "--$msep--";

    // eMail Subject
    $subject = "Inhalt der Betreffzeile";

    // Mail versenden, wobei der sonst im dritten Parameter angegebene Textinhalt
    // entfällt, da die Textbotschaft bereits im Header enthalten ist.
    mail ($to, $subject, '', $header);
?>
Letzte Posts aus unserem Forum

Wer kennt .....

Hallo erstmal wer kennt von euch einen WEbprogrammieren,desginer der mir eine Seite erstellen kann ,Communityportal sowas in der art wie ... » mehr

von NCWebmaster am Mittwoch, 7. Oktober 2009 00:32 in PHP - bisher 1 Antwort
Letzter Beitrag: Mittwoch, 7. Oktober 2009 13:26 von kalle

Hallo auch, da gibt es sicher viele die das machen würden, allerdings deutlich weniger die es auch tatsächlich machen könnten - noch einmal weniger ... » mehr

oh Mann

Hallo erstmals..... also ich kenn mich ja nicht so aus, aber ich denke die Menschheit fliegt auf den Mond, dann müsste es auch eine Lösung für mein ... » mehr

von Dummbazz am Dienstag, 24. Februar 2009 15:11 in PHP - bisher 2 Antworten
Letzter Beitrag: Mittwoch, 25. Februar 2009 11:48 von Dummbazz

Danke für die aufmunternde Worte... ... » mehr

counter auch ohne datenbank?

tach auch, ich habe nach einem besucherzähler gesucht, der auf meiner seite anzeigt, wieviele besucher sich dort aufhalten. allerdings habe ich ... » mehr

von marcel am Montag, 8. Dezember 2008 12:21 in PHP - bisher 1 Antwort
Letzter Beitrag: Montag, 8. Dezember 2008 13:34 von alm

Hallo, sicher kann die Counter-Klasse so umgeschrieben werden, dass sie auch ohne Datenbankanbindung funktioniert. Allerdings würde das einer neuen ... » mehr

DAten speichern und abfragen

Hallo an Alle! Hoffe, dass ich hier im richtigen Forum bin. Vielleicht kann mir jemand einen Tip geben. Ich möchte auf meiner Webpage ein Formular ... » mehr

von muenchner am Samstag, 12. Juli 2008 18:31 in PHP - bisher 1 Antwort
Letzter Beitrag: Montag, 14. Juli 2008 08:49 von alm

Hallo, ich bin mir nicht sicher, wie das jetzt gemeint ist! Geht es um die Frage: Sollen die Optionen des Forumlars (die einzelnen Checkboxen) in ... » mehr

Tutorials :: PHP & MySQL - Problem

Hi, zunächsteinmal danke für das Tutorial: ... » mehr

von migges am Montag, 2. Juni 2008 12:05 in PHP - bisher 3 Antworten
Letzter Beitrag: Dienstag, 3. Juni 2008 11:45 von alm

Das mit den Oder-Operatoren wundert mich ein wenig... Welchen Fehler hat der Interpreter an diesen Stellen ausgegeben? Ich habe bislang mit ... » mehr

¬ Tutorials



¬ Insolvenzrecht