SMTP-Authentifizierungsfehler bei Verwendung von PHPMailer

SMTP-Authentifizierungsfehler bei Verwendung von PHPMailer

Ich verwende PHPMailer, um ein einfaches Formular an eine E-Mail-Adresse zu senden, erhalte jedoch die folgende Fehlermeldung:

SMTP-Fehler: Authentifizierung nicht möglich. Nachricht konnte nicht gesendet werden. Mailer-Fehler: SMTP-Fehler: Authentifizierung nicht möglich. SMTP-Serverfehler: VXNlcm5hbWU6

Das Seltsame ist, dass es funktioniert, wenn ich versuche, es erneut zu senden! Jedes Mal, wenn ich das Formular nach diesem ersten Fehler absende, funktioniert es. Aber wenn ich es ein paar Minuten warte und es dann erneut versuche, erhalte ich wieder denselben Fehler.

Benutzername und Passwort müssen richtig sein, da es manchmal gut funktioniert. Ich habe sogar das folgende (sehr einfache) Skript erstellt, nur um es zu testen, und habe das gleiche Ergebnis erhalten

<?php

require("phpmailer/class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();
$mail->Host = "smtp.host.com";
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "password";

$mail->From = "[email protected]";
$mail->FromName = "From Name";
$mail->AddAddress("[email protected]");
$mail->AddReplyTo("[email protected]");

$mail->IsHTML(true);  

$mail->Subject = "Here is the subject";
$mail->Body    = "This is the HTML message body <b>in bold!</b>";
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";

if(!$mail->Send())
{
   echo "Message could not be sent. <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}

echo "Message has been sent";

?>

Ich glaube nicht, dass das relevant ist, aber ich habe gerade mein Hosting auf einen gemeinsam genutzten Linux-Server umgestellt. Irgendeine Idee, warum das passiert?

Danke!

***AKTUALISIERT 02.06.2012
Ich habe einige Tests durchgeführt. Die Ergebnisse:

Ich habe das Skript auf einem IIS-Server getestet und es hat einwandfrei funktioniert. Der Fehler scheint nur auf dem Linux-Server aufzutreten.

Wenn ich den Gmail-Mailserver verwende, funktioniert es außerdem sowohl unter IIS als auch unter Linux einwandfrei.

Könnte es ein Problem mit der Konfiguration meines Linux-Servers sein?

***UPDATE 2
Ich habe Swiftmail ausprobiert und es funktioniert einwandfrei :-), also werde ich PHPMailer aufgeben

Antwort1

Ich bin nicht sicher, ob das Problem am Server oder an PHPMailer lag, aber ich habe Swiftmail ausprobiert und es hat gut funktioniert. Normalerweise möchte ich wissen, WARUM etwas nicht funktioniert, aber ich kann das Problem nicht finden und der technische Service ist genauso ratlos wie ich. Daher werde ich von nun an für meine Projekte einfach bei Swiftmail bleiben.

Danke für die Hilfe!

Antwort2

Sie können versuchen, eine TLS-Verbindung wie folgt anzufordern:

$mail->SMTPAuth   = true;
$mail->SMTPSecure = "tls";

diese Frage/Antwort auf SOenthält weitere Informationen. Einschließlich der Empfehlung, die PHP-PEAR-Bibliothek anstelle von PHPMailer zu verwenden.

verwandte Informationen