Laravel 5: Sending Email

2020-02-11 02:14发布

问题:

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?

回答1:

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


回答2:

GMail SMTP requires encryption. Try changing setting as following.

 MAIL_PORT=465
 MAIL_ENCRYPTION=ssl


回答3:

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!



回答4:

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

php artisan cache:clear
php artisan config:clear


回答5:

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