PHPMailer auf 1und1 Kundenservern – Die Lösung

Bei einem unserer aktuellen Projekte sind wir auf ein unschönes Problem im Zusammenhang mit dem SMTP-Versand und dem 1und1 Kundenserver gestoßen. An sich hat alles gut funktioniert, beim E-Mail-Versand über das erstellte Kontaktformular sind allerdings Fehler aufgetreten.

Anfangs dachten wir es lege am PHPMailer – einer praktischen Bibliothek für den Mailversand über PHP. Nach einigem testen haben wir unser Kontakt-Formular auf den Server eines anderen Providers gelegt, der Versand erfolgte weiter üben den PHP-Mailer als SMTP-Server wurde weiter der der SMTP-Server von 1und1 verwendet – und siehe da es hat funktioniert.

Auf unsere detaillierte Nachfrage und die konkrete Frage ob für den direkten Mailversand über den Kundenserver der 1und1 andere Einstellungen vorzunehmen sind als für die übliche Outlook-Konfiguration,  haben die schnöde Aussage bekommen das man selbstgebaute Skripte nicht supportet.

Naja da man bei 1und1 nicht in der Lage ist über das eigene System zu informieren und wir eine Lösung gefunden haben die funktioniert, erledigen wir das hiermit.

Im PHP-Mailer muss die folgende Verbindung hinterlegt werden:

Statt den für 1&1-Postfächer typischen smtp.1und1.de muss der Host mrvnet.kundenserver.de eingetragen werden.

Außerdem muss die SMTP-Authentifizierung deaktiviert werden.

Von der Einstellung auf localhost ist ganz abzusehen, da die Mail-Server zu meißt nicht auf dem gleichen Servern liegen, auf denen die Webseiten gehostet werden.

Auszug aus unserer class.phpmailer.php
————————————————————————————————————————-

/**
* Sets the SMTP hosts.  All hosts must be separated by a
* semicolon.  You can also specify a different port
* for each host by using this format: [hostname:port]
* (e.g. „smtp1.example.com:25;smtp2.example.com“).
* Hosts will be tried in order.
* @var string
*/
var $Host        = ‚mrvnet.kundenserver.de‘; //’localhost‘;

/**
* Sets the default SMTP server port.
* @var int
*/
var $Port        = 25;
// var $Port;

/**
* Sets the SMTP HELO of the message (Default is $Hostname).
* @var string
*/
var $Helo        = “;

/**
* Sets connection prefix.
* Options are „“, „ssl“ or „tls“
* @var string
*/
var $SMTPSecure = „“;

/**
* Sets SMTP authentication. Utilizes the Username and Password variables.
* @var bool
*/
var $SMTPAuth     = false;

————————————————————————————————————————-

Hoffentlich konnten wir einigen Entwickler helfen die auf das gleiche Problem gestoßen sind.

Matthias A. Walter, http://www.tec4net.com

EDV-Sachverständiger und Datenschutzauditor

————————————————————————————————————————-

Quellen und Links:

PHPMailer
http://phpmailer.worxware.com/

tec4net Ihr Starker IT-Partner

orformulierten Vertrag