可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I am using laravel 5.2, And the using Swift Mailer for password resetting. I have 2-step verification on my gmail..
As the google help says :
If you've turned on 2-Step Verification for your account, you might need to enter an App password instead of your regular password.
I have the following settings on mail.php
:
return [ 'driver' => env('MAIL_DRIVER', 'smtp'), 'host' => env('MAIL_HOST', 'smtp.gmail.com'), 'port' => env('MAIL_PORT', 465), 'from' => ['address' => 'meaprogrammer@gmail.com', 'name' => 'Shafee'], 'encryption' => env('MAIL_ENCRYPTION', 'ssl'), 'username' => env('meaprogrammer@gmail.com'), 'password' => env('MY_Gmail_API_KEY'), 'sendmail' => '/usr/sbin/sendmail -bs', 'pretend' => env('MAIL_PRETEND', false), ];
On the .env
i have :
MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=465 MAIL_USERNAME=meaprogrammer@gmail.com MAIL_PASSWORD=MY_Gmail_API_KEY MAIL_ENCRYPTION=ssl
The following error comes up :
Swift_TransportException in AbstractSmtpTransport.php line 383: Expected response code 250 but got code "530", with message "530-5.5.1 Authentication Required. Learn more at 530 5.5.1 https://support.google.com/mail/answer/14257 w10sm15831823wjk.18 - gsmtp "
回答1:
Try to turn on "less secure apps" of your account on this page. Read this google answer.
回答2:
Use tls instead of ssl and use port 587.
Use key or paasword.
Or Please run php artisan config:cache
Or Try to turn on "less secure apps" of your account on this page.
回答3:
Follow this file......
Change "Username" => env('your-gmail-account@gmail.com') to "Username" => 'your-gmail-account@gmail.com';
Same as Password...
return [
/* |-------------------------------------------------------------------------- | Mail Driver |-------------------------------------------------------------------------- | | Laravel supports both SMTP and PHP's "mail" function as drivers for the | sending of e-mail. You may specify which one you're using throughout | your application here. By default, Laravel is setup for SMTP mail. | | Supported: "smtp", "mail", "sendmail", "mailgun", "mandrill", | "ses", "sparkpost", "log" | */ 'driver' => env('MAIL_DRIVER', 'smtp'), /* |-------------------------------------------------------------------------- | SMTP Host Address |-------------------------------------------------------------------------- | | Here you may provide the host address of the SMTP server used by your | applications. A default option is provided that is compatible with | the Mailgun mail service which will provide reliable deliveries. | */ 'host' => env('MAIL_HOST', 'smtp.gmail.com'), /* |-------------------------------------------------------------------------- | SMTP Host Port |-------------------------------------------------------------------------- | | This is the SMTP port used by your application to deliver e-mails to | users of the application. Like the host we have set this value to | stay compatible with the Mailgun e-mail application by default. | */ 'port' => env('MAIL_PORT', 587), /* |-------------------------------------------------------------------------- | Global "From" Address |-------------------------------------------------------------------------- | | You may wish for all e-mails sent by your application to be sent from | the same address. Here, you may specify a name and address that is | used globally for all e-mails that are sent by your application. | */ 'from' => ['address' => 'only5test@gmail.com', 'name' => 'shashikant parmar111'], /* |-------------------------------------------------------------------------- | E-Mail Encryption Protocol |-------------------------------------------------------------------------- | | Here you may specify the encryption protocol that should be used when | the application send e-mail messages. A sensible default using the | transport layer security protocol should provide great security. | */ 'encryption' => env('MAIL_ENCRYPTION', 'tls'), /* |-------------------------------------------------------------------------- | SMTP Server Username |-------------------------------------------------------------------------- | | If your SMTP server requires a username for authentication, you should | set it here. This will get used to authenticate with your server on | connection. You may also set the "password" value below this one. | */ **'username' => 'Your-gmail-account@gmail.com',** /* |-------------------------------------------------------------------------- | SMTP Server Password |-------------------------------------------------------------------------- | | Here you may set the password required by your SMTP server to send out | messages from your application. This will be given to the server on | connection so that the application will be able to send messages. | */ **'password' => '********',** /* |-------------------------------------------------------------------------- | Sendmail System Path |-------------------------------------------------------------------------- | | When using the "sendmail" driver to send e-mails, we will need to know | the path to where Sendmail lives on this server. A default path has | been provided here, which will work well on most of your systems. | */ 'sendmail' => '/usr/sbin/sendmail -bs', 'pretend' => FALSE,
];
回答4:
In laravel, I was also having the same issue but is because of... I was not using "use clause" in the Mail function .
The error got solved after using "use clause".
回答5:
You can try following steps
- Turn on "less secure apps" for your account here.
- Try by setting your mail encryption to
tls
and port to 587
in your .env
file
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your-email@gmail.com
MAIL_PASSWORD=your-password
MAIL_ENCRYPTION=tls
- Then run php artisan cache:clear
This worked just fine for me.