【问题标题】:Expected response code 220 but got code "500" when sending mail in Laravel 5.4 in local environment预期响应代码为 220,但在本地环境中的 Laravel 5.4 中发送邮件时得到代码“500”
【发布时间】:2017-07-08 05:25:02
【问题描述】:

我正在将 Laravel 5.0 应用程序迁移到 5.4 并尝试在我的本地环境中测试邮件。我一直为此使用Anitix SMTP Imposter。这是我的 .env 中的邮件配置:

MAIL_DRIVER=smtp
MAIL_HOST=127.0.0.1
MAIL_PORT=25
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPT=null

这在所有以前的 Laravel 版本(4、4.2、5.0)中一直有效,但突然在 5.4 中我收到以下错误:

AbstractSmtpTransport.php 第 383 行中的 Swift_TransportException: 预期响应代码 220,但得到代码“500”,消息“500 命令无法识别 "

我尝试禁用 Avast,使用像 Papercut 这样的替代程序,使用 SSL 或 TLS 玩配置,但我不知道是什么原因造成的。有什么想法吗?

【问题讨论】:

    标签: laravel smtp local swiftmailer


    【解决方案1】:

    第一次尝试:php artisan config:cache 并重启你的本地服务器,也许 Laravel 使用旧的邮件数据。

    出于开发目的https://mailtrap.io/ 为您提供了所有需要添加到 .env 文件中的设置。例如:

    Host:   mailtrap.io
    Port:   25 or 465 or 2525
    Username:   cb1d1475bc6cce
    Password:   7a330479c15f99
    Auth:   PLAIN, LOGIN and CRAM-MD5
    TLS:    Optional
    

    否则,出于实施目的,您可以从邮件中获取要添加到 .env 文件中的 smtp 凭据(如 gmail n all)

    添加后一定要重启服务器

    【讨论】:

    • 谢谢,config:cache 命令没有改变任何东西。我用 mailtrap.io 设置了它,它就是这样工作的,但我仍然想知道为什么它不能像以前版本的 Laravel 那样与我的本地应用程序一起工作。
    • 这只是一种选择,而不是答案。
    【解决方案2】:

    您可以使用https://mailtrap.io/ 它将为您提供所有必要的详细信息,以便您检查本地计算机中的邮件功能,包括用户名、密码、端口、主机等。

    如果仍然有同样的问题问题, 在项目的config/mail.php 文件中使用这些详细信息,而不是使用 .env 文件。

    return array(
            "driver" => "smtp",
            "host" => "mailtrap.io",
            "port" => 2525,
            "username" => "mailtrap.io_your_username",
            "password" => "mailtrap.io_your_password",
            "sendmail" => "/usr/sbin/sendmail -bs",
            "pretend" => false
    );
    

    【讨论】:

      【解决方案3】:

      迟到的答案,但我自己来到这里遇到了同样的问题。

      MailHog 不支持 TLS 加密。将MAIL_ENCRYPTION=null 添加到我的.env 文件解决了我的问题。

      【讨论】:

        【解决方案4】:

        这对我有用。

        MAIL_DRIVER=smtp
        MAIL_HOST=mailhog
        MAIL_PORT=1025
        MAIL_USERNAME=
        MAIL_PASSWORD=
        MAIL_ENCRYPTION=null
        

        我使用的是 mailhog docker 容器。

        mailhog:
            image: mailhog/mailhog:v1.0.0
            ports:
              - "1025:1025" // smtp 
              - "8025:8025" // web
        

        【讨论】:

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