web-dev-qa-db-fra.com

Laravel - La connexion n'a pas pu être établie avec l'hôte smtp.gmail.com [# 0]

J'essaye d'envoyer un email de Gmail en utilisant Laravel de localhost. J'obtiens cette erreur: Impossible d'établir la connexion avec l'hôte smtp.gmail.com [# 0]

J'utilise ssl avec le port 465. J'ai également essayé le 587, mais cela n'a pas fonctionné.

J'ai aussi essayé ça mais ça n'a pas marché. J'ai trouvé beaucoup de personnes souffrant des mêmes problèmes, mais les solutions que j'ai trouvées n'ont pas fonctionné.

11
omarsafwany

J'ai eu la même erreur: Impossible d'établir la connexion avec l'hôte smtp.gmail.com [# 0] et j'ai suivi les étapes décrites ici: https://github.com/swiftmailer/swiftmailer/issues/544 .

Essayez d’ajouter les lignes suivantes à _establishSocketConnection() dans Swift/Transport/StreamBuffer.php à la ligne 263:

$options['ssl']['verify_peer'] = FALSE;
$options['ssl']['verify_peer_name'] = FALSE;

Notez que cette solution n'est pas parfaite car elle implique: a) le piratage du code principal qui peut être écrasé dans une mise à jour de SwiftMailer, et b) la sécurité de votre application est réduite car vous ne validez plus la connexion. Mais en tant que solution temporaire, cela a fonctionné pour moi.

13
inostia

Dans votre fichier .env, vous devrez définir l'adresse électronique et le mot de passe de votre compte de messagerie.

MAIL_DRIVER=smtp
MAIL_Host=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=testpassword

et dans rempli à mail.php

<?php

return [


		'driver' => env('MAIL_DRIVER', 'smtp'),


		'Host' => env('MAIL_Host', 'smtp.mailgun.org'),


		'port' => env('MAIL_PORT', 587),


		'from' => ['address' => '[email protected]', 'name' => 'Your Title'],


		'encryption' => 'tls',


		'username' => env('MAIL_USERNAME'),



		'password' => env('MAIL_PASSWORD'),


		'sendmail' => '/usr/sbin/sendmail -bs',


		'pretend' => false,

];

et effacez le cache de configuration avec cela.

php artisan config:cache

4
Adnane

Avez-vous essayé de changer le cryptage à tls? J'utilise actuellement un serveur SMTP Gmail pour envoyer des courriels à partir de mon application Laravel. J'utilise TLS et le port 587

1
Chris Townsend

cela a fonctionné pour moi après une longue recherche, la meilleure configuration:

'driver' => 'smtp',
'Host' => 'smtp-mail.Outlook.com',
'port' => 587, ( or 25)
'encryption' => 'tls',

https://accounts.google.com/DisplayUnlockCaptchahttps://www.google.com/settings/security/lesssecureapps

env 

MAIL_DRIVER = smtp

MAIL_Host = smtp.gmail.com

MAIL_PORT = 587

[email protected]

MAIL_PASSWORD = test

MAIL_ENCRYPTION = tls /******** /

email.php

'from' => ['address' => '[email protected]', 'name' => 'test'],

0
Adnane