【问题标题】:How to Fix Laravel Email Issue如何修复 Laravel 电子邮件问题
【发布时间】:2019-09-07 17:58:27
【问题描述】:

我正在实现 Laravel 5.8 内置的电子邮件验证功能,但不幸的是我无法找出错误。

我在 ,y User 模型中添加了MustVerifyEmail 接口。

这是我在 Laravel 中的 .ENV 文件。我在mail.php 中使用的相同配置。

.env

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME="<My user Name>"
MAIL_PASSWORD="<My Password>"
MAIL_ENCRYPTION=ssl

【问题讨论】:

  • stackoverflow.com/a/2748837/2602434 中解释的尝试 ssl://smtp.gmail.com
  • 我在 mail.php 文件中犯了错误。将 'username' => env('my_usr_name') 替换为 'username' =>'my_usr_name'

标签: php laravel laravel-5 swiftmailer laravel-5.8


【解决方案1】:

您必须在您的 Google 帐户安全设置中启用对安全性较低的应用的访问权限。

【讨论】:

  • 嗯,好的。试试这个:MAIL_HOST=smtp.googlemail.com 并清除缓存。还有可能是这条路由意外落后于 auth 中间件吗?
  • 没有。它没有帮助。我已清除缓存并更改主机
【解决方案2】:

用于在 laravel 中配置 gmail 设置,

MAIL_DRIVER=sendmail
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your_email_address@gmail.com
MAIL_PASSWORD=your_gmail_address_password
MAIL_FROM_ADDRESS=your_email_address@gmail.com
MAIL_FROM_NAME="YOUR_USER_NAME"
MAIL_ENCRYPTION=tls

同时更新mail.php中的以下内容

'pretend' => false,
    'stream' => [
        'ssl' => [
            'allow_self_signed' => true,
            'verify_peer' => false,
            'verify_peer_name' => false,
        ],
    ],

要测试您的配置,请将此代码放在 api.php 中

Route::get('/emailTest',function(){

    $emailData = [
        'from'      => 'admin_email@gmail.com',
        'email'     => 'user_email@gmail.com',
        'password'  => 'user_password',
    ];
    // "mails.toUser" : this is my email template in resources
    Mail::send('mails.toAdmin',['emailData' => $emailData],function($message) use ($emailData){
        $message->to($emailData['email'])
            ->from($emailData['from'])
            ->subject('New User Registration');
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-23
    • 2014-11-21
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-08
    相关资源
    最近更新 更多