Gewusst wie: Senden von E-Mail-Anhängen in PHP
Versenden von e-Mails aus einer Webseite ist eine relativ häufige Aufgabe und oft senden eine angehängte Datei wird benötigt---vielleicht schicken Sie einen Datenbank-Dump oder ein Bild, das ein Benutzer hochgeladen. Während die PHP-Bibliothek enthält Funktionen zum senden regelmäßig, nur-Text e-Mail, Unterstützung für erweiterte e-Mail-Funktionen (z. B. HTML und Anlagen) ist aber kompliziert für den unerfahrenen Benutzer auftreten können. Diese Funktionen sind jedoch durch das PEAR::Mail_Mime-Paket geliefert, die aus dem PEAR-Repository frei verfügbar ist. PEAR ist ein PHP-Komponente-Verteilungssystem, die freien PHP-Bibliotheken und Klassen enthält und ist ein idealer Ausgangspunkt, wenn eine neue Aufgabe in PHP zu Unternehmen.
Anweisungen
1 Installieren Sie das PEAR::Mail_Mime-Paket auf Ihrem System (Entwicklungsplattform und Server). (Wenn Ihr System keine PEAR installiert sind, finden Sie unter "Ressourcen"). Verwenden Sie den folgenden Befehl an einer Eingabeaufforderung:
Pear Install Mail_Mime
Dies installiert die neueste Version des Pakets Mail_Mime aus der PEAR-Repositories.
2 Öffnen Sie Ihr PHP-Skript in Ihrem Text Editor/Entwicklungsumgebung Wahl. Dies kann sein ein vorhandenes PHP-Skript, das Sie Hinzufügen von Funktionalität zu planen oder ein neues Script um die e-Mail-Features für Ihr System zu umfassen.
3 Zählen Sie die Skripten Mail.php und Mail/mime.php in Ihrem Php-Skript:
<? Php
include('Mail.php');
include('Mail/MIME.php');
4 Bauen Sie den Inhalt Ihrer Nachricht (nach den oben genannten "gehören"-Anweisungen) und verwandte Informationen:
$msgText = "Dies ist der Text der e-Mail. Ziemlich langweilig, nicht wahr? ";
$msgHtml = "< html >< Körper > Dies ist die HTML Email--< strong > supercool! < / strong >< / body >< / html >";
$toAttach = "/ path/to/our/file.txt";
$msgHeaders = Array ('From' = > '[email protected]', 'Subject' = > ' Dies ist eine Testnachricht. Gibt es viele, wie es, aber dieses ist meins.');
5 Erstellen des Mail_Mime-Objekts (wieder, unter welche oben hinzugefügt wurden):
Parameter ist optional, aber wir müssen setzen Sie ihn auf "\n", da werden wir es schicken
über das E-Mail-Paket
$mailMime = neue Mail_Mime('\n');
$mailMime -> setTXTBody($msgText);
$mailMime -> setHTMLBody($msgHtml);
$mailMime -> AddAttachment ($toAttach, "Text/Plain");
6 Bauen Sie das Mail-Objekt verwendet wird, um die Nachricht zu senden:
$msgBody = $mailMime -> Get();}
$msgHeaders = $mailMime -> headers($msgHeaders);
$mailObject = & Mail::factory('mail');
$mailObject -> senden ('[email protected]', $msgHeaders, $msgBody);