SMTP TLS Mailversand mit Swiftmailer bei Strato und 1und1

Für ein Projekt war es wichtig, dass ich einen Mailversand per SMTP und TLS hinbekomme.

Das Projekt lief bei Strato. Getestet habe ich allerdings bei meinem Homeprovider 1und1.

Nach diversen Versuchen und permanenten „SMTP connect() failed.“ in den unterschiedlichsten Konfigurationen, dämmerte mir dann irgendwann, dass 1und1 anscheinend die Verbindung auf Shared Systemen blockt bzw nicht zulässt. Getestet habe ich das mir 1und1, Gmail und Strato als Host.

Für Strato, auf einem Stratowebserver, allerdings funktionieren folgenden Einstellungen.


require_once __DIR__ . '/swiftmailer/lib/swift_required.php';

define('USER', 'account');
define('PASSWORD', 'xxx');
define('HOST', 'smtp.strato.de');
define('PORT', 587);
define('SECURE', 'TLS');
define('FROM', 'mail@adr.de');
define('TO', 'other-mail@adr.de');
define('TOALIAS', 'Alias');
define('FROMALIAS', 'From Alias');
define('SUBJECT', 'Subject');
$body ="...Text...";
$alt_body="Text";

$transport = Swift_SmtpTransport::newInstance()
->setHost(HOST)
->setPort(PORT)
->setEncryption(SECURE)
->setUsername(USER)
->setPassword(PASSWORD);

$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance(SUBJECT)
->setFrom(array(FROM => FROMALIAS))
->setTo(array(TO => TOALIAS))
->setBody($alt_body)
->addPart($body, 'text/html');

if (!$mailer->send($message, $failures)) {
return false;
} else {
return true;
}

Hier habe ich Swiftmailer genommen, es sollte unter der Prämisse Strato aber auch per PHPMailer funktionieren.