Heim > Artikel > Backend-Entwicklung > Wie versende ich E-Mails in PHP? Implementiert mit PHPMailer
Wie versende ich E-Mails in PHP? In diesem Artikel erfahren Sie, wie Sie PHPMailer + SMTP zum Senden von E-Mails verwenden, damit Sie verstehen, wie Sie PHPMailer konfigurieren und verwenden. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.
PHPMailer ist eine beliebte PHP-Bibliothek zum E-Mail-Versand. Es unterstützt das Senden von E-Mails über die Funktion mail() oder SMTP. Kurz gesagt, PHPMailer ist eine effiziente Möglichkeit, E-Mails in einer PHP-basierten Umgebung zu versenden.
Schauen wir uns unten an
Schritt 1 – PHPMailer-Details sammeln
Um PHPMailer mit Hostinger SMTP zu verwenden, müssen Sie zuerst erstellen ein E-Mail-Konto. Sie können dies im Abschnitt „E-Mail-Konten“ Ihres Webhost-Panels tun.
Wenn Sie fertig sind, greifen Sie auf die SMTP-Details zu, die sich im selben Abschnitt befinden:
Sie sollten jetzt vier Abschnitte haben. Dies sind:
1. E-Mail-Konto-Benutzername
3. SMTP-Host
Schritt 2 – PHPMailer installieren
Da wir alle erforderlichen Details haben, können wir mit der PHPMailer-Einrichtung beginnen. Eine einfache Möglichkeit ist die Verwendung von Composer. Bei unseren Shared-Hosting-Plänen ist es vorinstalliert. Sie müssen sich also nur über SSH verbinden und den folgenden Befehl ausführen:
cd public_htmlDann ausführen:
composer require phpmailer/phpmailerEinen Moment warten, die Installation ist abgeschlossen und PHPMailer wird im neu erstellten Verzeichnis angezeigt.
Schritt 3 – PHPMailer verstehen
Um PHPMailer und seine Funktionsweise zu verstehen, schauen wir uns ein Beispiel für die Zustellung über SMTP an.
<?php use PHPMailer\PHPMailer\PHPMailer; require '../vendor/autoload.php'; $mail = new PHPMailer; $mail->isSMTP(); $mail->SMTPDebug = 2; $mail->Host = 'mx1.hostinger.com'; $mail->Port = 587; $mail->SMTPAuth = true; $mail->Username = 'test@hostinger-tutorials.com'; $mail->Password = 'EMAIL_ACCOUNT_PASSWORD'; $mail->setFrom('test@hostinger-tutorials.com', 'Your Name'); $mail->addReplyTo('reply-box@hostinger-tutorials.com', 'Your Name'); $mail->addAddress('example@gmail.com', 'Receiver Name'); $mail->Subject = 'PHPMailer SMTP message'; $mail->msgHTML(file_get_contents('message.html'), __DIR__); $mail->AltBody = 'This is a plain text message body'; $mail->addAttachment('test.txt'); if (!$mail->send()) { echo 'Mailer 错误: ' . $mail->ErrorInfo; } else { echo '发送消息!'; } ?>Schauen wir uns an, was jede Komponente tut:
Profi-Tipp:
SMTPDebug = 2 ; wenn Sie ein Skript testen und sehen, wie es funktioniert.
Legen Sie dies im endgültigen Build auf SMTPDebug = 0 fest, um zu verhindern, dass Endbenutzer SMTP-Zustellungsberichte sehen. Wenn Sie sich den gesamten Code ansehen, werden Sie feststellen, dass wir etwas anders machen als im ersten Beispiel. Wir versenden HTML-Nachrichten. Der Inhalt wird der Datei message.html entnommen, die sich im selben Verzeichnis befindet. Dies ermöglicht Ihnen die Formatierung von Text und bietet mehr Funktionalität als reine Textnachrichten.Schritt 4 – Führen Sie das PHPMailer-Skript aus
Erstellen wir eine testphpmailer.php-Datei und füllen Sie alle Felder mit den SMTP-Details aus, die wir zuvor abgerufen haben. Führen Sie das Skript aus, indem Sie YourDomain.com/testphpmailer.php in Ihren Browser eingeben. Sie sehen eine Meldung ähnlich der folgenden:
Schritt 5 – Beispiel für ein PHPMailer-Kontaktformular
Sie können PHPMailer für mehr als nur das Versenden einfacher Nachrichten verwenden. Eine Möglichkeit, dies zu nutzen, besteht darin, ein Kontaktformular zu erstellen, über das Ihre Besucher oder Benutzer mit Ihnen Kontakt aufnehmen können. Hier ist ein einfaches Beispiel für ein solches Skript:
<?php use PHPMailer\PHPMailer\PHPMailer; require '../vendor/autoload.php'; $mail = new PHPMailer; $mail->isSMTP(); $mail->Host = 'mx1.hostinger.com'; $mail->Port = 587; $mail->SMTPAuth = true; $mail->Username = 'test@hostinger-tutorials.com'; $mail->Password = 'EMAIL_ACCOUNT_PASSWORD'; $mail->setFrom('test@hostinger-tutorials.com', 'Mr. Drago'); $mail->addAddress('example@gmail.com', 'Receiver Name'); if ($mail->addReplyTo($_POST['email'], $_POST['name'])) { $mail->Subject = 'PHPMailer contact form'; $mail->isHTML(false); $mail->Body = <<<EOT Email: {$_POST['email']} Name: {$_POST['name']} Message: {$_POST['message']} EOT; if (!$mail->send()) { $msg = '对不起,出了点问题。请稍后再试。'; } else { $msg = '发送消息成功!谢谢您联络我们。'; } } else { $msg = '电子邮件地址无效,邮件被忽略。'; } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>邮件表单</title> </head> <body> <h1>Let's get in touch!</h1> <?php if (!empty($msg)) { echo "<h2>$msg</h2>"; } ?> <form method="POST"> <label for="name">名称: <input type="text" name="name" id="name"></label><br><br> <label for="email">电子邮件: <input type="email" name="email" id="email"></label><br><br> <label for="message">消息:<textarea name="message" id="message" rows="8" cols="20"></textarea></label><br><br> <input type="submit" value="发送"> </form> </body> </html>Das Endergebnis ist:
Sobald der Benutzer seine Nachricht übermittelt, erhält er eine Bestätigung und die Der Inhalt erreicht die im Feld „addAddress“ eingegebene E-Mail-Adresse.
Profi-Tipp: Wenn das PHPMailer-Kontaktformular nicht funktioniert, fügen Sie die folgende Zeile hinzu, um zu sehen, was das Problem verursacht: $mail-> Vergessen Sie nicht, hinzuzufügen. Entfernen Sie es oder setzen Sie es auf Null!Das obige ist der detaillierte Inhalt vonWie versende ich E-Mails in PHP? Implementiert mit PHPMailer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!