Heim >Backend-Entwicklung >PHP-Tutorial >Kann ich mit der Funktion mail() von PHP Dateien an E-Mails anhängen?

Kann ich mit der Funktion mail() von PHP Dateien an E-Mails anhängen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-02 14:37:38612Durchsuche

Can I Attach Files to Emails Using PHP's mail() Function?

Anhänge zu E-Mails mit der PHP-Mail()-Funktion hinzufügen

Sie möchten eine PDF-Datei mit der PHP-Mail()-Funktion an eine E-Mail anhängen Funktion, aber Sie fragen sich, ob es machbar ist.

Das Basic Code

Ihr bereitgestellter Code zum Senden einer E-Mail sieht folgendermaßen aus:

$to = "xxx";
$subject = "Subject";
$message = 'Example message with <b>html</b>';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: xxx <xxx>' . "\r\n";
mail($to, $subject, $message, $headers);

Einschränkungen der PHP-Funktion mail()

Der Die Funktion mail() in PHP weist mehrere Einschränkungen auf. Eine davon ist, dass sie das Anhängen von Dateien an E-Mails nicht nativ unterstützt. Um dieses Problem zu lösen, könnten Sie die Verwendung einer externen Bibliothek wie PHPMailer in Betracht ziehen.

Einführung in PHPMailer

PHPMailer ist eine leistungsstarke und weit verbreitete PHP-Bibliothek zum Versenden von E-Mails, einschließlich dieser mit Anhängen. So verwenden Sie es:

1. Laden Sie PHPMailer herunter und fügen Sie es ein.

  • Laden Sie PHPMailer von GitHub herunter (Link in der Originalantwort).
  • Fügen Sie den Ordner zu Ihrem Projekt hinzu.
  • Fügen Sie das hinzu Hauptskriptdatei mit require_once('path/to/file/class.phpmailer.php').

2. E-Mail mit Anhang senden

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

$email = new PHPMailer();
$email->setFrom('[email protected]', 'Your Name');
$email->Subject = 'Message Subject';
$email->Body = $bodytext;
$email->addAddress('[email protected]');

$file_to_attach = 'PATH_OF_YOUR_FILE_HERE';

$email->addAttachment($file_to_attach, 'NameOfFile.pdf');

$email->send();

Mit $email->addAttachment() können Sie mühelos Dateien an Ihre E-Mails anhängen.

Vorteile von PHPMailer

  • Benutzerfreundlichkeit mit minimalem Programmieraufwand erforderlich.
  • Unterstützung für verschiedene E-Mail-Protokolle (SMTP, POP3, IMAP).
  • Möglichkeit zum Senden mehrteiliger E-Mails mit Anhängen verschiedener Typen.

Zusammenfassend: Obwohl es technisch möglich ist, Dateien mit mail() anzuhängen, wird aufgrund seiner überlegenen Funktionen und Benutzerfreundlichkeit dringend empfohlen, stattdessen PHPMailer zu verwenden.

Das obige ist der detaillierte Inhalt vonKann ich mit der Funktion mail() von PHP Dateien an E-Mails anhängen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn