Laravel 5: Sending Email

2020-02-11 02:03发布

I am trying to send an email in laravel application. Here is my .env file:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=ehsan.sani91@gmail.com
MAIL_PASSWORD=**********
MAIL_ENCRYPTION=tls

And here is the Mail::send method:

Mail::send('email', ['name' => "EE"], function($m){
            $m->to('ee@dx.com', 'Malik')->subject('Subjet of the email');
        });

And here is the error:

Swift_TransportException in AbstractSmtpTransport.php line 383: Expected response code 250 but got code "530", with message "530 5.7.0 Must issue a STARTTLS command first. s16sm7748968wib.16 - gsmtp"

Any help?

5条回答
看我几分像从前
2楼-- · 2020-02-11 02:46

Well, I got it. Infact the email was not authenticated because that email required a mobile phone authentication after login. changing to other email address that required just login credentials, it worked.

.env
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=youremail@host.com
MAIL_PASSWORD=yourpassword
MAIL_ENCRYPTION=tls
查看更多
Explosion°爆炸
3楼-- · 2020-02-11 02:47

GMail SMTP requires encryption. Try changing setting as following.

 MAIL_PORT=465
 MAIL_ENCRYPTION=ssl
查看更多
一纸荒年 Trace。
4楼-- · 2020-02-11 02:49

maybe port error , you can look this web laravel or lumen send email

查看更多
干净又极端
5楼-- · 2020-02-11 02:59

I made the following mistake: I did not actually include the

'encryption' => env('MAIL_ENCRYPTION'),

to the array return in mail.php. I did include my host, port, username and password in the mail.php but not the encryption method (the encryption method I only included in the .env file), so trying out these mentioned solutions did bring a change in the error messages outcome, created a bigger confusion, but none solved the problem. Hope this helps someone!

查看更多
趁早两清
6楼-- · 2020-02-11 03:00

If the above comments do not work, try clearing the cache:

php artisan cache:clear
php artisan config:clear
查看更多
登录 后发表回答