PHPMailer ist eine leistungsstarke und benutzerfreundliche Erweiterung zum Senden von E-Mails mit PHP. Es verfügt über eine Fülle von Funktionen, mit denen Sie E-Mails erstellen und senden, mit Anhängen arbeiten und verschiedene Optionen für die Nachrichtenübermittlung konfigurieren können.
Die Installation von PHPMailer ist einfach genug. Zuerst müssen Sie die Bibliotheksdateien von der offiziellen Website herunterladen. Sie sollten diese Dateien dann in Ihrem Projekt ablegen, z. B. in einem separaten Ordner, so dass sie von Ihrem Code aus zugänglich sind.
Nach der Installation müssen Sie PHPMailer für die Arbeit mit Ihrem E-Mail-Server konfigurieren. Dazu müssen Sie Verbindungseinstellungen wie die Adresse des SMTP-Servers, den Port, den Benutzernamen und das Kennwort angeben. Sie können auch andere Einstellungen wie den Verschlüsselungstyp und das Verbindungszeitlimit konfigurieren.
Nach der Konfiguration können Sie mit dem Erstellen und Senden von E-Mails mit PHPMailer beginnen. Sie können den Empfänger und den Absender der E-Mail angeben, den Betreff der Nachricht festlegen, Text oder HTML-Inhalt hinzufügen, Dateien anhängen und vieles mehr. PHPMailer verfügt außerdem über zusätzliche Funktionen wie das Überprüfen der E-Mail-Adresse und das Senden von E-Mails über einen autorisierten SMTP-Server.
In diesem Artikel werden wir genauer untersuchen, wie Sie PHPMailer installieren und richtig konfigurieren, um E-Mails mit SMTP zu senden. Wir werden uns auch einige häufige Probleme und Fehler ansehen, die bei der Arbeit mit PHPMailer auftreten können und wie Sie diese lösen können.
Phpmailer installieren: Schritt für Schritt
- Laden Sie phpmailer von der offiziellen Website herunter (https://github.com/PHPMailer/PHPMailer ) und entpacke das Archiv.
- Kopieren Sie die Dateien der PHPMailer-Klasse (phpmailer.php und class.smtp.php) in Ihr Projekt. Es ist praktisch, sie in einem separaten Ordner zu platzieren, z. B. "phpmailer".
- Verbinden Sie die PHPMailer-Klasse mit dem folgenden Code in Ihrem PHP-Skript:
require 'путь_к_phpmailer/phpmailer.php';require 'путь_к_phpmailer/class.smtp.php';
// Создаем экземпляр класса PHPMailer$mail = new PHPMailer();// Устанавливаем SMTP-сервер и параметры аутентификации$mail->isSMTP();$mail->Host = 'smtp.example.com';$mail->SMTPAuth = true;$mail->Username = 'ваш_логин';$mail->Password = 'ваш_пароль';// Устанавливаем адрес отправителя и получателя$mail->setFrom('от_кого@example.com', 'Имя отправителя');$mail->addAddress('кому@example.com', 'Имя получателя');// Устанавливаем тему письма$mail->Subject = 'Тема письма';// Устанавливаем текст письма$mail->Body = 'Текст письма';// Отправляем письмоif ($mail->send()) else ErrorInfo;>
Wenn Sie phpmailer installieren und richtig konfigurieren, können Sie die Funktionalität zum Senden von E-Mails schnell in Ihre Webanwendung integrieren, indem Sie die obigen Anweisungen befolgen. Viel Glück!
Herunterladen von phpmailer von der offiziellen Website
Um phpmailer zu installieren und zu konfigurieren, müssen Sie es zuerst von der offiziellen Website herunterladen. Befolgen Sie dazu die folgenden Schritte:
- Besuchen Sie die offizielle Website von phpmailer unter https://github.com/PHPMailer/PHPMailer .
- Suchen Sie auf der Hauptseite nach der Schaltfläche "Code" und klicken Sie darauf.
- Wählen Sie im Dropdown-Menü "Download ZIP".
- Speichern Sie das ZIP-Archiv auf Ihrem Computer.
- Entpacken Sie die Dateien aus dem ZIP-Archiv.
Nachdem Sie diese Schritte ausgeführt haben, erhalten Sie alle erforderlichen phpmailer-Dateien, die Sie zum Einrichten und Senden von E-Mails über PHP verwenden können.
Nachdem Sie phpmailer jetzt von der offiziellen Website heruntergeladen haben, können Sie mit der Installation und Konfiguration des phpmailers beginnen.
Entpacken des phpmailer-Archivs
Um mit phpmailer zu beginnen, müssen Sie das Archiv mit seinen Dateien herunterladen und entpacken.
Sie müssen das phpmailer-Archiv von der offiziellen Website herunterladen phpmailer.io . Suchen Sie auf der Startseite nach der Schaltfläche "Download" und klicken Sie darauf.
Nachdem Sie das Archiv heruntergeladen haben, suchen Sie es im Download-Ordner auf Ihrem Computer und entpacken Sie es.
Sie können ein Archivierungsprogramm wie 7-Zip oder WinRAR verwenden, um das phpmailer-Archiv zu entpacken. Wählen Sie einfach das Archiv aus und klicken Sie mit der rechten Maustaste auf die Option "Extrahieren" oder "Entpacken".
Das entpackte Archiv enthält mehrere Dateien und Ordner, die Sie für die Arbeit mit phpmailer benötigen. Sie benötigen die phpmailer-Klassendateien.php-und phpmailer-Konfigurationsdatei.config.php.
Jetzt können Sie diese Dateien verwenden, um E-Mails mit phpmailer zu senden.
| Datei | Die Beschreibung |
|---|---|
| phpmailer.php | Die Hauptdatei der phpmailer-Klasse zum Senden von E-Mails |
| phpmailer.config.php | Konfigurationsdatei zum Konfigurieren von phpmailer |
Phpmailer mit Ihrem Projekt verbinden
Schritt 1: Laden Sie phpmailer von der offiziellen Website herunter. Es kann als Zip-Archiv heruntergeladen werden.
Schritt 2: Entpacken Sie das heruntergeladene Archiv und kopieren Sie den Inhalt des phpmailer-Ordners in das Stammverzeichnis Ihres Projekts.
Schritt 3: Fügen Sie in Ihrem PHP-Skript den folgenden Code hinzu, um den phpmailer zu verbinden:
isSMTP(); // Указываем, что отправка будет осуществляться через SMTP$mail->Host = 'smtp.gmail.com'; // Укажите ваш SMTP-сервер$mail->SMTPAuth = true; // Включаем SMTP-аутентификацию$mail->Username = '[email protected]'; // Ваш логин от почты$mail->Password = 'your-password'; // Ваш пароль от почты$mail->SMTPSecure = 'ssl'; // Установите метод шифрования SSL$mail->Port = 465; // Укажите номер порта$mail->setFrom('[email protected]', 'Your Name'); // Укажите вашу почту и ваше имя$mail->addAddress('[email protected]'); // Укажите адрес получателя$mail->isHTML(true); // Укажите, что письмо будет в формате HTML$mail->Subject = 'Тестовое письмо с использованием phpmailer';$mail->Body = 'Привет, это тестовое письмо!';if(!$mail->send()) ErrorInfo;> else ?>
Schritt 4: Führen Sie Ihr PHP-Skript aus und überprüfen Sie, ob Sie eine Testbrief senden konnten.
Beachten Sie, dass Sie die Verbindungsdaten für Ihren SMTP-Server korrekt ausfüllen und Ihre E-Mails und die E-Mails des Empfängers angeben müssen. Wenn Sie Probleme beim Senden haben, überprüfen Sie die Sicherheitseinstellungen Ihrer E-Mail und überprüfen Sie, ob die eingegebenen Daten korrekt sind.
Installieren der erforderlichen Abhängigkeiten
Bevor Sie phpmailer installieren und konfigurieren, müssen Sie sicherstellen, dass die folgenden Abhängigkeiten auf dem Server installiert sind:
| 1. | PHP Version 5.5 und höher |
| 2. | OpenSSL-Erweiterung für PHP |
| 3. | cURL-Erweiterung für PHP |
Wenn Sie diese Abhängigkeiten bereits haben, können Sie mit der Installation und Konfiguration von phpmailer beginnen. Andernfalls müssen Sie die fehlenden Abhängigkeiten installieren, bevor Sie fortfahren.
Erstellen einer Datei zum Testen von phpmailer
Bevor Sie phpmailer verwenden, sollten Sie eine separate Datei erstellen, um zu überprüfen, ob sie funktioniert und konfiguriert ist.
Erstellen Sie dazu eine neue Datei mit der Erweiterung. "php" im Stammverzeichnis Ihrer Website oder in dem Ordner, in dem Sie das Skript platzieren möchten.
Öffnen Sie die erstellte Datei in einem Texteditor, und fügen Sie den folgenden Code hinzu:
isSMTP();$mail->Host = 'smtp.example.com';$mail->SMTPAuth = true;$mail->Username = '[email protected]';$mail->Password = 'your_password';$mail->SMTPSecure = 'tls';$mail->Port = 587;// Отправитель и получатель письма$mail->setFrom('[email protected]', 'Your Name');$mail->addAddress('[email protected]', 'Recipient Name');// Тема и содержимое письма$mail->Subject = 'Тестовое письмо';$mail->Body = 'Привет, это тестовое письмо!';// Отправляем письмоif ($mail->send()) else ErrorInfo;>?>
Beachten Sie, dass in der Zeile "require 'der Pfad zu Datei/PHPMailerAutoload.php';" Anstelle von "Dateipfad" müssen Sie den Pfad zur Datei "PHPMailerAutoload" angeben.php" auf Ihrem Server. Wenn Sie die Datei "PHPMailer" im selben Ordner wie Ihr Skript abgelegt haben, geben Sie einfach "PHPMailerAutoload" an.php".
Als nächstes müssen Sie den SMTP-Server konfigurieren und Ihre tatsächlichen Daten in die entsprechenden Felder eingeben (Serveradresse, Benutzername, Passwort, Port).
Nach dem Speichern können Sie die Datei in einem Webbrowser öffnen, um zu überprüfen, ob phpmailer funktioniert. Wenn alles korrekt eingerichtet ist, wird eine Meldung angezeigt, dass die E-Mail erfolgreich gesendet wurde oder ein Fehler aufgetreten ist (wenn etwas schief gelaufen ist).
Stellen Sie sicher, dass Ihr Server das Senden von E-Mails über SMTP unterstützt und Sie über die Berechtigung zum Senden von E-Mails mit der angegebenen Adresse verfügen. Wenn Sie einen Fehler im Zusammenhang mit dem Senden einer E-Mail erhalten, wenden Sie sich an Ihren Hosting-Provider oder Serveradministrator, um weitere Informationen zu erhalten.
Konfigurieren des E-Mail-Servers für die Arbeit mit phpmailer
Damit phpmailer einwandfrei funktioniert, muss ein Mailserver konfiguriert werden. In diesem Artikel betrachten Sie den Konfigurationsprozess für einen Webmail-Server.
1. Überprüfen Sie, ob ein E-Mail-Server installiert ist. Führen Sie dazu den Befehl aus php -i | grep "SMTP" im Terminal. Wenn Sie keinen E-Mail-Server installiert haben, installieren Sie ihn mit dem Befehl sudo apt-get install postfix für Ubuntu oder sudo yum install postfix für CentOS.
2. Öffnen Sie die Konfigurationsdatei des Mailservers /etc/postfix/main.cf und suchen Sie nach den folgenden Zeilen:
3. Ersetzen Sie diese Zeilen durch die folgenden:
4. Suchen und auskommentieren Sie die folgenden Zeilen:
#smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
#smtpd_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
Und ersetzen Sie sie durch:
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtpd_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
5. Speichern Sie die Konfigurationsdatei, und starten Sie den Mailserver neu, indem Sie den folgenden Befehl ausführen sudo service postfix restart.
Die Konfiguration des E-Mail-Servers für die Arbeit mit phpmailer ist abgeschlossen. Jetzt können Sie phpmailer verwenden, um E-Mails von Ihrer Website zu senden.
Überprüfen des Sendens von E-Mails mit phpmailer
Nachdem Sie phpmailer konfiguriert haben, müssen Sie überprüfen, ob das Senden von E-Mails mit dieser Bibliothek ordnungsgemäß funktioniert. Dazu können Sie den folgenden Code verwenden:
- Fügen Sie die Dateien der phpmailer-Klasse und des Autoloaders hinzu:
- require 'PHPMailer/PHPMailer.php';
- require 'PHPMailer/SMTP.php';
- require 'PHPMailer/Exception.php';
- Erstellen Sie eine neue Instanz der phpmailer-Klasse:
- $mail = new PHPMailer\PHPMailer\PHPMailer();
- Konfigurieren Sie die Absender- und Empfängereinstellungen:
- $mail->setFrom('[email protected] ', 'Absender');
- $mail->addAddress('[email protected]', 'Empfänger');
- $mail->Subject = 'Testbrief';
- $mail->Body = 'Dies ist eine Test-E-Mail, die über phpmailer gesendet wurde';
- Senden Sie eine E-Mail:
- if ($mail->send())
- echo 'E-Mail erfolgreich gesendet';
- > else
- echo 'Fehler beim Senden der E-Mail: ' . $mail->ErrorInfo;
- >
Wenn nach dem Ausführen dieses Codes alle phpmailer-Einstellungen korrekt sind, sollten Sie die Meldung "Die E-Mail wurde erfolgreich gesendet" sehen. Andernfalls wird eine Fehlermeldung angezeigt, in der Sie eine E-Mail mit zusätzlichen Informationen über das Problem senden können.
Auf diese Weise können Sie den Betrieb von phpmailer leicht überprüfen und sicherstellen, dass die E-Mails fehlerfrei gesendet werden.
Beheben von Problemen beim Senden und Versenden von E-Mails
Wenn Sie bei der Verwendung von phpmailer Probleme beim Senden und Versenden von E-Mails haben, finden Sie hier einige Lösungen, die Ihnen helfen können:
1. Überprüfen Sie die SMTP-Servereinstellungen. Stellen Sie sicher, dass Sie die richtigen Daten für den Zugriff auf den SMTP-Server eingegeben haben, einschließlich Serveradresse, Port, Benutzername und Kennwort. Überprüfen Sie außerdem, ob Ihr SMTP-Server SSL oder TLS unterstützt, und konfigurieren Sie die Verbindung entsprechend.
2. Überprüfen Sie, ob die Ports gesperrt sind. Einige Hosting-Anbieter oder Systemeinstellungen können bestimmte SMTP-Ports blockieren. Stellen Sie sicher, dass der Port, den Sie für die Verbindung mit dem SMTP-Server verwenden, nicht gesperrt ist.
3. Überprüfen Sie die E-Mail des Empfängers. Stellen Sie sicher, dass die E-Mail-Adresse des Empfängers korrekt geschrieben ist. Wenn die Adresse Fehler enthält, wird die E-Mail möglicherweise nicht zugestellt.
4. Überprüfen Sie den Spam- oder Junk-Mail-Ordner. Manchmal können E-Mails, die mit phpmailer gesendet werden, in den Spam- oder Junk-E-Mail-Ordner des Empfängers gelangen. Überprüfen Sie diese Ordner und wenn die E-Mail dort ist, markieren Sie sie als unerwünscht oder verschieben Sie sie in Ihren Posteingang.
Wenn Sie diese Richtlinien befolgen, können Sie bei der Verwendung von phpmailer viele Probleme beim Senden und Versenden von E-Mails lösen. Wenn Sie jedoch weiterhin Probleme haben, können Sie sich an die Dokumentation zu phpmailer wenden oder sich an die Entwickler-Community wenden, um Hilfe zu erhalten.
Erweiterte Funktionen und Einstellungen von phpmailer
1. Anhängen von Dateien:
Mit Phpmailer können Sie einfach Dateien zu einer gesendeten E-Mail hinzufügen. Dazu wird die Methode verwendet addAttachment(). Zum Beispiel:
$mail->addAttachment('/путь/к/файлу'); // добавление одного файла$mail->addAttachment('/путь/к/файлу1', 'имя файла1'); // добавление файла с измененным именем$mail->addAttachment('/путь/к/файлу2', 'имя файла2', 'base64', 'application/octet-stream'); // добавление файла с измененным именем, кодировкой и типом файла
2. Senden einer HTML-E-Mail:
Sie können HTML-E-Mails mit der Methode senden isHTML() und die Methode Body, um den Inhalt der E-Mail festzulegen:
$mail->isHTML(true);$mail->Body = 'Привет
Это HTML-письмо с использованием phpmailer
';
3. Verwenden eines SMTP-Servers:
Mit Phpmailer können Sie auch einen SMTP-Server zum Senden von E-Mails verwenden. Dazu müssen Sie Methoden aufrufen isSMTP() und Host, SMTPAuth, Username, Password um die Verbindung zum Server und die Authentifizierung einzurichten. Zum Beispiel:
$mail->isSMTP();$mail->Host = 'smtp.gmail.com';$mail->SMTPAuth = true;$mail->Username = '[email protected]';$mail->Password = 'your-password';
Anschließend können Sie E-Mails über einen SMTP-Server senden, indem Sie die Methode verwenden send().
4. Erweiterte Einstellungen:
Phpmailer bietet viele weitere Optionen und Einstellungen, wie zum Beispiel das Festlegen der Verschlüsselungscodes, die Verwendung von SSL, das Festlegen des Namens und der Adresse des Absenders und Empfängers, das Verwalten der Fehleranzeige usw. Weitere Informationen zu allen Funktionen finden Sie unter offizielle Dokumentation von phpmailer. Vergessen Sie nicht, dass für phpmailer die OpenSSL-Erweiterung in PHP erforderlich ist.