Wissensdatenbank

1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!

PHPMailer bei Infomaniak verwenden

Aktualisierung 30.06.2026

Diese Anleitung erklärt, wie Sie PHPMailer mit den Webhosting-Diensten von Infomaniak verwenden, um E-Mails von einer Website aus zu versenden.

 

⚠ ACHTUNG ⚠

Infomaniak garantiert die Konformität seiner Dienste mit den Standardprotokollen (IMAP, S3 usw.), bietet aber keine zusätzliche Unterstützung für externe Dienste oder Software, da deren Konfiguration je nach Anbieter oder Herausgeber variieren kann. Diese Anleitung dient daher nur als Referenz, und die Implementierung liegt in Ihrer Verantwortung (siehe: Supportrichtlinie / Art. 11.9 der AGB). Bei Bedarf kann Ihnen ein qualifizierter Fachmann behilflich sein.


 

Einleitung

  • PHPMailer ist eine PHP-Bibliothek, mit der Sie E-Mails von einer Website aus erstellen und versenden können, insbesondere über SMTP.
  • Sie ermöglicht unter anderem das Versenden von Nachrichten im HTML-Format, das Hinzufügen einer alternativen Textversion, die Verwaltung von Anhängen und die Verwendung einer SMTP-Authentifizierung.
  • Für ein authentifiziertes Versenden über SMTP muss die von der Website verwendete PHP-Umgebung mit einer aktuellen verschlüsselten Verbindung kompatibel sein, insbesondere TLS 1.2 oder höher.
    • Eine zu alte Version von PHP oder der von PHP verwendeten OpenSSL-Bibliothek kann einen Verbindungs- oder Authentifizierungsfehler verursachen, auch wenn die E-Mail-Adresse und das Passwort korrekt sind.
    • Verwenden Sie PHP 5.3/5.4 nicht für diese Art von Versand; verwenden Sie eine aktuelle und unterstützte PHP-Version.
  • Bei der Verwendung der authentifizierten SMTP-Übertragung muss die als Absender verwendete Adresse mit der E-Mail-Adresse übereinstimmen, die für die SMTP-Authentifizierung verwendet wird.

 

PHPMailer installieren

Um PHPMailer zu verwenden, installieren Sie die Bibliothek in den Dateien Ihrer Website.

  1. Laden Sie PHPMailer von seinem offiziellen Repository herunter oder installieren Sie es mit Composer, falls Ihr Projekt dies verwendet.
  2. Kopieren Sie die PHPMailer-Dateien in ein Verzeichnis Ihrer Website per FTP.
  3. Laden Sie die erforderlichen Dateien in Ihr PHP-Skript hoch und passen Sie den Pfad entsprechend dem gewählten Speicherort an:

    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;
    
    require **DIR** . '/PHPMailer/src/Exception.php';
    require **DIR** . '/PHPMailer/src/PHPMailer.php';
    require **DIR** . '/PHPMailer/src/SMTP.php';

 

SMTP-Übertragung mit Infomaniak konfigurieren

Verwenden Sie die folgenden authentifizierten SMTP-Einstellungen:

  • SMTP-Server: mail.infomaniak.com
  • Port: 465
  • Verschlüsselung: SMTPS / SSL-TLS
  • Authentifizierung: erforderlich
  • Benutzername: die vollständige E-Mail-Adresse
  • Passwort: das Passwort der verwendeten E-Mail-Adresse

Beispiel für eine vollständige Konfiguration:

<?php

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

require **DIR** . '/PHPMailer/src/Exception.php';
require **DIR** . '/PHPMailer/src/PHPMailer.php';
require **DIR** . '/PHPMailer/src/SMTP.php';

$mail = new PHPMailer(true);

try {
// Configuration SMTP
$mail->isSMTP();
$mail->Host       = 'mail.infomaniak.com';
$mail->SMTPAuth   = true;
$mail->Username   = '[sender@domain.xyz](mailto:sender@domain.xyz)';
$mail->Password   = 'mot_de_passe_de_l_adresse_mail';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port       = 465;
$mail->CharSet    = 'UTF-8';

```
// Expéditeur
// L'adresse doit correspondre à celle utilisée pour l'authentification SMTP.
$mail->setFrom('sender@domain.xyz', 'Nom du site');

// Destinataire
$mail->addAddress('recipient@example.com');

// Adresse de réponse facultative
$mail->addReplyTo('sender@domain.xyz', 'Nom du site');

// Contenu du message
$mail->isHTML(true);
$mail->Subject = 'Message envoyé depuis le site';
$mail->Body    = '<p>Contenu HTML du message.</p>';
$mail->AltBody = 'Contenu texte du message.';

$mail->send();
echo 'Message envoyé';
```

} catch (Exception $e) {
echo 'Le message n’a pas pu être envoyé. Erreur: ' . htmlspecialchars($mail->ErrorInfo);
}

Wenn Ihre Anwendung die Verwendung von Port 587 erzwingt, verwenden Sie STARTTLS:

$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port       = 587;

 

PHP-Version und TLS-Kompatibilität überprüfen

Die authentifizierte SMTP-Übertragung erfordert eine aktuelle verschlüsselte Verbindung. Wenn die Website eine zu alte PHP-Version verwendet, z. B. PHP 5.3, oder eine zu alte OpenSSL-Bibliothek, kann PHPMailer vor oder während der Authentifizierung fehlschlagen. Die Fehler können dann irreführend sein, z. B.:

  • SMTP connect() failed
  • Could not authenticate
  • stream_socket_enable_crypto()
  • ein Authentifizierungsfehler, obwohl das Passwort korrekt ist

Überprüfen Sie in diesem Fall Folgendes:

  1. die von der Website verwendete PHP-Version;
  2. die von PHP verwendete OpenSSL-Version;
  3. die von Ihrem Projekt verwendete PHPMailer-Version;
  4. die Übereinstimmung zwischen dem SMTP-Port und der gewählten Verschlüsselung.

Für eine zuverlässige Konfiguration verwenden Sie eine aktuelle PHP-Version, die mit TLS 1.2 oder höher kompatibel ist, sowie eine aktuelle Version von PHPMailer. Lesen Sie bei Bedarf diese Anleitungen:

 

Fehler „Sender mismatch“ beheben

Der Fehler Sender mismatch SMTP code: 550 Additional SMTP info: 5.7.1 kann auftreten, wenn die als Absender verwendete Adresse nicht mit der E-Mail-Adresse übereinstimmt, die für die SMTP-Authentifizierung verwendet wird. Ein Beispiel, das vermieden werden sollte:

$mail->Username = 'sender@domain.xyz';
$mail->setFrom('another-address@domain.xyz', 'Nom du site');

In diesem Beispiel authentifiziert sich das Skript mit sender@domain.xyz, versucht aber, die Nachricht mit einer anderen Absenderadresse zu senden.

Verwenden Sie dieselbe E-Mail-Adresse für die SMTP-Authentifizierung und als Absender:

$mail->Username = 'sender@domain.xyz';
$mail->setFrom('sender@domain.xyz', 'Nom du site');

Der Absendername kann angepasst werden, aber die E-Mail-Adresse muss mit dem für die SMTP-Verbindung verwendeten Konto übereinstimmen.

Fall eines Kontaktformulars

Wenn ein Besucher seine E-Mail-Adresse in ein Formular eingibt, verwenden Sie diese nicht als Absenderadresse der Nachricht. Verwenden Sie die authentifizierte E-Mail-Adresse als Absender und fügen Sie die Adresse des Besuchers als Antwortadresse hinzu.

Beispiel:

$mail->Username = 'sender@domain.xyz';
$mail->setFrom('sender@domain.xyz', 'Formulaire du site');
$mail->addReplyTo($email_visiteur);

Mit dieser Konfiguration können Sie dem Besucher über Ihr E-Mail-Programm antworten, ohne die Nachricht mit einer nicht autorisierten Absenderadresse zu versenden.

 

Debug-Modus vorübergehend aktivieren

Im Fehlerfall aktivieren Sie vorübergehend den Debug-Modus von PHPMailer, um detailliertere Informationen zur SMTP-Verbindung zu erhalten:

$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';

Deaktivieren Sie diesen Modus nach Ihren Tests, um zu verhindern, dass technische Informationen für die Besucher der Website angezeigt werden.

 

Weitere Informationen

Link zu dieser FAQ: https://faq.infomaniak.com/576


War diese FAQ nützlich?