En-tête réécrit dans : Symfony\Component\Mailer\Exception\TransportException : code de réponse attendu "250" mais a reçu une réponse vide
P粉350036783
P粉350036783 2023-11-03 21:58:49
0
1
638

J'utilise le service de relais SMTP de Google Workspace pour envoyer des e-mails depuis mon application Laravel. Cela fonctionne bien depuis plus d'un an maintenant, mais je ne sais pas exactement ce qui l'empêche de fonctionner. Lorsque j'essaie d'envoyer un e-mail, j'obtiens l'erreur suivante :

>>> 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.'

Je soupçonne que cela est lié à ma mise à niveau de Laravel 8 vers Laravel 9, mais je ne sais pas comment y remédier.

Monmail.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,
        ],

Ma configuration email

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

Je m'authentifie via IP donc aucun champ de mot de passe et de nom d'utilisateur n'est nécessaire

Configuration de mon routage GSuite Gmail


REMARQUE Dans la configuration ci-dessus, j'ai essayé de vérifier TLS et de modifier les expéditeurs autorisés par « Uniquement les utilisateurs d'applications enregistrés dans mon domaine », mais le problème persiste.

J'ai essayé les conseils de

  1. https://laracasts.com/discuss/channels/laravel/laravel-swift-mailer-exception-expected-response-code-250-but-got-an-empty-response-using-gmail- base de données de relais smtp chauffeur

  2. Laravel 9 - Infomaniak : Code réponse attendu "250" mais code reçu "550" avec message "550 5.7.1 Sender Mismatch"

  3. https://stackoverflow.com/a/43283422/11752623

  4. https://www.cubebackup.com/blog/how-to-use-google-smtp-service-to-send-emails-for-free/ Méthode 3

Tous ces efforts ont échoué. Merci pour votre aide pour résoudre ce problème.

P粉350036783
P粉350036783

répondre à tous(1)
P粉221046425

J'ai trouvé la solution, J'ai accédé à vendor/symfony/mailer/Transport/Smtp/SmtpTransport.php sous la méthode assertResponseCode. J'ai répondu par une réponse qui disait :

421 4.7.0 Try again later, closing connection. (EHLO) r29-200a50c01d0000xxxxxxxxxxxx87edb.28 - gsmtp

Pour plus de détails sur cette erreur, veuillez vous référer à Google Docs

Le problème est que Swift Mailer utilise 127.0.0.1 comme domaine pour envoyer des e-mails inconnus à Gmail.

La solution était donc de mettre mon nom de domaine dans config/mail.phpfichier

        '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
        ],

Plus d'informations :

  1. https://insights.rytass.com/gmail-smtp-relay-421-4-7-0-try-again-later-opening-connection-ehlo-cfcdac3cf9c7
  2. https://serverfault.com/questions/929559/postfix-error-421-4-7-0-try-again-later-opening-connection-ehlo
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!