【问题标题】:Laravel is sending mail using my old email configurationLaravel 正在使用我的旧电子邮件配置发送邮件
【发布时间】:2017-06-05 05:14:13
【问题描述】:

我在 .env 文件中更改了我的电子邮件配置,但是当我尝试发送邮件时,它使用的是我的旧配置。

我尝试了一些命令:

php artisan clear-compiled, php artisan cache:clear,和 php artisan config:clear 但它仍然使用我的旧电子邮件发送。

我也尝试更改旧 Gmail 帐户的密码,但我的网站只是使用旧邮件帐户发送邮件。

我注意到了这一点:

This message may not have been sent by: [redacted]@gmail.com Learn more Report phishing

关于收到的邮件。

【问题讨论】:

    标签: php email laravel-5 laravel-mail laravel-notification


    【解决方案1】:

    当您发送电子邮件时,通常您会使用一些邮件库,您可以选择->from("email@domain.com") 参数。然后使用电子邮件驱动程序发送此电子邮件对象。然后,电子邮件驱动程序使用环境设置连接到 smtp 帐户,例如

    因此更改环境变量将更改作为实际电子邮件发件人的帐户,但我假设您忘记更改 ->from("..") 参数。

    这解释了为什么您会看到一条通知说这可能不是由 ...

    【讨论】:

    • 我又试了一次,一切正常,但我仍然收到带有旧电子邮件的邮件。在本地开发中,我使用 Gmail 帐户发送邮件,现在我已经部署了我的项目并决定使用我的 Domain 电子邮件。问题是我的网站仍在使用旧的邮件配置。我什至已经更改了我的 Gmail 密码,但我的网站仍然能够使用该 Gmail 而不是我的域电子邮件发送邮件
    【解决方案2】:

    尝试清除配置缓存。我确实使用了 php artisan config:clear

    【讨论】:

      【解决方案3】:

      更改新的电子邮件配置后,请确保在终端中运行此代码

      php artisan clear-compiled、php artisan cache:clear 和 php artisan config:clear

      现在电子邮件来自新配置,但来自电子邮件和名称来自旧电子邮件配置。但有时来自新的电子邮件和名称。

      所以直接在电子邮件代码中提及电子邮件和名称,而不是在 .env 或配置文件中 像这样 Mail::queue('emails.email_confirm', $data, function($message) 使用($user,$data) { $message->from(FROM_MAIL, FROM_MAIL_NAME)->to($user->email, $user->first_name)->subject($data['subject']); });

      以后试试这个对我有用

      谢谢……

      【讨论】:

        【解决方案4】:

        如果您从队列发送电子邮件,请尝试使用 php artisan queue:restart 重新启动队列。

        这为我解决了这个问题。如上所述,我曾尝试过composer dump-autoloadphp artisan clear-compiledphp artisan cache:clearphp artisan config:clear,但它们并没有解决我的问题。

        【讨论】:

        • 谢谢。 php artisan queue:restart 工作。显然该命令还记得视图和配置。
        猜你喜欢
        • 2019-11-28
        • 1970-01-01
        • 1970-01-01
        • 2015-12-20
        • 2021-03-27
        • 2016-03-10
        • 2016-11-02
        • 2013-05-05
        • 2017-02-22
        相关资源
        最近更新 更多