Heim > Backend-Entwicklung > PHP-Tutorial > Warum erhalte ich die Fehlermeldung „SMTP AUTH ist erforderlich', wenn ich E-Mails über den SMTP-Server von Gmail mit PHP Mailer sende?

Warum erhalte ich die Fehlermeldung „SMTP AUTH ist erforderlich', wenn ich E-Mails über den SMTP-Server von Gmail mit PHP Mailer sende?

Barbara Streisand
Freigeben: 2024-12-26 15:16:17
Original
516 Leute haben es durchsucht

Why am I getting an

Probleme beim Senden von E-Mails über den Gmail-SMTP-Server mit PHP-Mailer: Fehler „SMTP AUTH ist erforderlich“

Beim Versuch, eine E-Mail über den zu senden Wenn Sie einen Gmail-SMTP-Server verwenden, der PHP Mailer verwendet, wird möglicherweise eine Fehlermeldung angezeigt, die darauf hinweist, dass für die Nachrichtenübermittlung an Port 587 eine SMTP-Authentifizierung erforderlich ist. Dieses Problem kann behoben werden indem Sie die folgenden Schritte implementieren:

  1. SMTP-Authentifizierung überprüfen:
    Stellen Sie sicher, dass das SMTPAuth-Flag im PHP-Mailer-Code auf „true“ gesetzt ist. Dies ermöglicht eine Authentifizierung vor dem Senden der E-Mail.
  2. Domänenbeschränkung prüfen:
    Gmail erfordert eine Domänenbeschränkung, um bestimmten Domänen das Senden von E-Mails über seinen SMTP-Server zu ermöglichen. Stellen Sie sicher, dass Ihre Domain (vatandesign.ir) berechtigt ist, E-Mails über das von Ihnen verwendete Gmail-Konto zu senden.
  3. SMTP Secure Flag aktualisieren:
    Setzen Sie das $mail->SMTPSecure Flag auf „ssl“ oder „tls“, um eine sichere Verbindung mit dem Gmail-SMTP-Server herzustellen.
  4. SSL-Verfügbarkeit prüfen:
    Bestätigen Sie, dass das SMTP Der Server, zu dem Sie eine Verbindung herstellen möchten, unterstützt SSL-Verbindungen. Einige Server unterstützen SSL oder TLS möglicherweise nicht.
  5. Zweistufige Verifizierung deaktivieren:
    Zur Erhöhung der Sicherheit hat Google die zweistufige Verifizierung implementiert. Deaktivieren Sie die zweistufige Überprüfung für das Gmail-Konto, das Sie zum Senden der E-Mail verwenden.
  6. SMTP-Debug-Wert ändern:
    Setzen Sie das $mail->SMTPDebug-Flag auf 1 oder 2. Dadurch wird das Debuggen aktiviert und Geben Sie detaillierte Fehlermeldungen an.
  7. Test und Fehlerbehebung:
    Führen Sie den PHP-Mailer-Code aus und überwachen Sie die Ausgabe. Überprüfen Sie die Fehlermeldungen auf etwaige Probleme oder Warnungen.
  8. Portkonfiguration aktualisieren:
    Experimentieren Sie, indem Sie den $mail->Port-Wert entweder auf 465 oder 587 ändern. Verschiedene Server können unterschiedliche Ports verwenden.
  9. Kontaktieren Sie Ihren SMTP-Server:
    Wenn das Problem weiterhin besteht, können Sie sich für weitere Informationen an den SMTP-Serveranbieter wenden Hilfe.

Beispielarbeitscode:

Dieser überarbeitete Beispielcode kann Ihnen bei der Lösung des Problems helfen:

$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "[email protected]";
$mail->Password = "password";
$mail->SetFrom("[email protected]");
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("[email protected]");

if (!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message has been sent";
}
Nach dem Login kopieren

Dieser Code hat getestet und auf Funktionsfähigkeit überprüft. Durch die Umsetzung dieser Vorschläge sollten Sie in der Lage sein, E-Mails mit PHP Mailer erfolgreich über den Gmail-SMTP-Server zu senden.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „SMTP AUTH ist erforderlich', wenn ich E-Mails über den SMTP-Server von Gmail mit PHP Mailer sende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage