Lieber Gerhard,
Allerdings führt Dein Link nur auf die Seite mit einem Verzeichnis voller Dateien.
ja, das ist bei Git-Projekten üblicherweise so. Aber dort gibt es immer eine README-Datei, die auf der GitHub-Seite nach dem Dateilisting auch konkret angezeigt wird.
Gibt es eine leicht verständliche Anleitung für die Verwendung des PHPMail?
Eben in besagter README. Vielleicht ist das Englische jedoch für Dich gerade nicht „leicht verständlich“. Dann picke ich Dir mal die Rosinen aus dem Kuchen:
Alternativ, wenn man Composer nicht benutzt, kann man PHPMailer auch als Zip-Datei herunterladen, (Doku und Beispiele nicht enthalten), dann die entzippten Inhalte des PHPMailer-Verzeichnisses im Script mit dem passenden Pfad referenzieren:
<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\SMTP; use PHPMailer\PHPMailer\Exception; require 'path/to/PHPMailer/src/Exception.php'; require 'path/to/PHPMailer/src/PHPMailer.php'; require 'path/to/PHPMailer/src/SMTP.php';
Die require
-Direktiven benötigen hier anstelle von path/to/PHPMailer natürlich den von Deinem Script aus passenden Pfad.
Einfaches Beispiel
<?php // PHPMailer-Klasse in den globalen Namespace heben // Diese Zeilen müssen am Anfang des Scripts stehen, nicht innerhalb einer Funktion use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\SMTP; use PHPMailer\PHPMailer\Exception; // Klasse(n) laden require 'path/to/PHPMailer/src/Exception.php'; require 'path/to/PHPMailer/src/PHPMailer.php'; require 'path/to/PHPMailer/src/SMTP.php'; //Create an instance; passing `true` enables exceptions $mail = new PHPMailer(true); try { //Server settings $mail->SMTPDebug = SMTP::DEBUG_SERVER; // detaillierte Ausgaben $mail->isSMTP(); // SMTP-Server verwenden $mail->Host = 'smtp.example.com'; // hier eigenen SMTP-Server einstellen $mail->SMTPAuth = true; // SMTP mit Benutzerdaten verwenden $mail->Username = 'user@example.com'; // Benutzername für SMTP-Server $mail->Password = 'secret'; // Passwort für SMTP-Server $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // mit SSL-Verschlüsselung $mail->Port = 587; // Server-Port für SSL-verschlüsselte Verbindungen // Empfänger $mail->setFrom('from@example.com', 'Mailer'); $mail->addAddress('joe@example.net', 'Joe User'); // ein Empfänger $mail->addAddress('ellen@example.com'); // Name ist optional $mail->addReplyTo('info@example.com', 'Information'); $mail->addCC('cc@example.com'); $mail->addBCC('bcc@example.com'); // Attachments $mail->addAttachment('/var/tmp/file.tar.gz'); // Attachment hinzufügen $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // optional Dateiname zum Speichern // Inhalt $mail->isHTML(true); // HTML-formatierte Mails $mail->Subject = 'Here is the subject'; $mail->Body = 'HTML-formatierte Nachricht <b>in fett!</b>'; $mail->AltBody = 'Nurtext-Inhalt für nicht HTML-fähige Clients'; $mail->send(); echo 'Mail wurde versandt.'; } catch (Exception $e) { echo "Mail konnte nicht versandt werden. Mailer Error: {$mail->ErrorInfo}"; }
Hilft Dir das schon weiter?
Liebe Grüße
Felix Riesterer