【问题标题】:Laravel 6 Expected response code 220 but got an empty response using on digital oceanLaravel 6 预期响应代码 220,但在数字海洋上使用时得到一个空响应
【发布时间】:2020-02-15 14:09:30
【问题描述】:

预期的响应代码为 220,但得到的响应为空。

我有包含联系人表单的 laravel 6 应用程序。该应用程序已上传到数字海洋。 我试图从我的联系我们表格发送邮件,但我无法发送,请帮助。

我有 gmail 帐户,我将我的 gmail 帐户置于不太安全的状态并激活 2 步验证并生成应用密码。我将该应用程序密码添加到我的 .ENV 文件中,但我可以发送电子邮件。

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=myemail
MAIL_PASSWORD=mypass
MAIL_ENCRYPTION=tls

【问题讨论】:

  • 如果你想使用 gmail,为什么你的 .env 中有 smtp.mailtrap.io 邮件主机?
  • MAIL_HOST=smtp.gmail.com MAIL_DRIVER=smtp
  • 你清除了配置缓存吗?
  • 是的,我做到了。但还是一样。
  • 你试过MAIL_ENCRYPTION=ssl吗?

标签: php laravel email


【解决方案1】:

以下对我有用

    MAIL_MAILER=smtp
    MAIL_HOST=smtp.gmail.com
    MAIL_PORT=587
    MAIL_USERNAME=MY_EMAIL
    MAIL_PASSWORD=MY_PASSWORD
    MAIL_ENCRYPTION=tls
    MAIL_FROM_ADDRESS=MY_EMAIL (Again in my case)
    MAIL_FROM_NAME="${APP_NAME}"

    php artisan config:clear

【讨论】:

    【解决方案2】:

    将配置中的 mail.php 文件更改为:

    'driver' => env('MAIL_DRIVER', 'smtp'),
    'host' => env('MAIL_HOST', 'smtp.gmail.com'),
    'port' => env('MAIL_PORT', 587),
    'from' => ['address' => '<<email address>>', 'name' => ''],
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),
    'username' => env('MAIL_USERNAME'),
    'password' => env('MAIL_PASSWORD'),
    'sendmail' => '/usr/sbin/sendmail -bs',
    'pretend' => false,
    

    设置 env 文件后不要忘记 config:cache

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-18
      • 1970-01-01
      • 2017-08-29
      • 2017-08-03
      • 2011-06-23
      • 2017-01-15
      • 2016-05-28
      相关资源
      最近更新 更多