Heim > Fragen und Antworten > Hauptteil
Ich verwende den Google Workspace SMTP-Relay-Dienst, um E-Mails von meiner Laravel-App zu senden. Es läuft seit über einem Jahr einwandfrei, aber ich bin mir nicht sicher, was genau es daran hindert, zu laufen. Wenn ich versuche, eine E-Mail zu senden, erhalte ich die folgende Fehlermeldung:
>>> IlluminateSupportFacadesMail::to('myemail@gmail.com')->send(new AppMailCourseEnrolmentEmail($user, AppCourse::first())); // The error SymfonyComponentMailerExceptionTransportException with message 'Expected response code "250" but got an empty response.'
Ich vermute, dass dies damit zusammenhängt, dass ich von Laravel 8 auf Laravel 9 aktualisiere, bin mir aber nicht sicher, wie ich das Problem beheben kann.
Meinmail.php
'smtp' => [ 'transport' => 'smtp', 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), 'port' => env('MAIL_PORT', 587), 'encryption' => env('MAIL_ENCRYPTION', 'tls'), 'username' => env('MAIL_USERNAME'), 'password' => env('MAIL_PASSWORD'), 'timeout' => null, ],
Meine E-Mail-Konfiguration
MAIL_DRIVER=smtp MAIL_HOST=smtp-relay.gmail.com MAIL_PORT=587 MAIL_ENCRYPTION=TLS MAIL_FROM_NAME="My Name" MAIL_FROM_ADDRESS=myaddress@workspace.com
Ich authentifiziere mich über IP, sodass keine Felder für Passwort und Benutzername erforderlich sind
Meine GSuite-Gmail-Routing-Konfiguration
HINWEIS In der obigen Konfiguration habe ich versucht, TLS zu überprüfen und die zulässigen Absender auf „Nur registrierte Anwendungsbenutzer in meiner Domäne“ zu ändern, aber das Problem besteht weiterhin.
Ich habe den Rat von
ausprobierthttps://laracasts.com/discuss/channels/laravel/laravel-swift-mailer-Exception-expected-response-code-250-but-got-an-empty-response-using-gmail-SMTP-Relay-Datenbankwarteschlange Fahrer
Laravel 9 – Infomaniak: Antwortcode „250“ erwartet, aber Code „550“ mit der Meldung „550 5.7.1 Sender Mismatch“ erhalten
https://stackoverflow.com/a/43283422/11752623
https://www.cubebackup.com/blog/how-to-use-google-smtp-service-to-send-emails-for-free/ Methode 3
All dies war erfolglos. Vielen Dank für Ihre Hilfe bei der Lösung dieses Problems.
P粉2210464252023-11-04 15:51:18
找到了解决办法,
我在assertResponseCode方法下访问了vendor/symfony/mailer/Transport/Smtp/SmtpTransport.php
。我回应了显示以下内容的回复:
421 4.7.0 Try again later, closing connection. (EHLO) r29-200a50c01d0000xxxxxxxxxxxx87edb.28 - gsmtp
有关该错误的更多详细信息,请参阅 Google 文档
问题在于 Swift Mailer 使用 127.0.0.1 作为发送 Gmail 未知邮件的域。
因此,解决方案是在 config/mail.php
文件中设置我的域名
'smtp' => [
'transport' => 'smtp',
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'timeout' => null,
'local_domain' => env('MAIL_EHLO_DOMAIN', 'mydomain.com')//this line here
],
更多信息: