【问题标题】:Emails sent using SMTP Gmail don't get delivered使用 SMTP Gmail 发送的电子邮件未送达
【发布时间】:2021-06-17 14:18:39
【问题描述】:

我正在尝试使用 Laravel 6 从我的网络服务器发送邮件,如下所示:

Mail::send('feedback', ['email' => $email, 'text' => $text], function($message) use ($receiver)
        {
            $message->to($receiver, 'The receiver')->subject('New Feedback');
        });

我根据谷歌的这个页面将我的登录信息添加到我的 .env 文件中:

https://support.google.com/mail/answer/7126229?hl=de

我的 .env 文件:

MAIL_DRIVER=sendmail
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=xxxx@gmail.com
MAIL_PASSWORD=my_gmail_login_password
MAIL_ENCRYPTION=tls

但我的邮件没有发送/送达。我没有收到任何错误消息或任何记录。一切似乎都正常,但由于某种原因,它们没有送达。

我尝试在我的 gmail 设置中启用不安全的应用程序并使用我的 gmail 密码,以及创建应用程序密码和使用应用程序密码。这两个选项都不起作用。

有人知道我做错了什么吗?

【问题讨论】:

  • 将您的 MAIL_DRIVER=sendmail 更改为 MAIL_DRIVER=smtp

标签: laravel smtp gmail


【解决方案1】:

尝试如下更改.env 变量:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=username
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=username
MAIL_PASSWORD=password
MAIL_ENCRYPTION=ssl

【讨论】:

  • 正如 PK Tharindu 建议的那样。 SSL 在端口 465 上工作
【解决方案2】:

你应该如下设置 .env 属性

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=username
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls

试一试。

【讨论】:

    猜你喜欢
    • 2018-02-11
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    相关资源
    最近更新 更多