【问题标题】:Expected response code 250 but got code "", with message ""预期响应代码 250,但得到代码“”,带有消息“”
【发布时间】:2015-09-16 22:57:23
【问题描述】:

我可以完美地在 localhost 中发送我的电子邮件。但是自从我将程序上传到托管站点后,我就收到了这个错误

预期的响应代码为 250,但得到代码“”,带有消息“”

我还更新了.env 文件。

MAIL_DRIVER=smtp

MAIL_HOST=smtp-mail.outlook.com

MAIL_PORT=587

MAIL_USERNAME=email@outlook.com

MAIL_PASSWORD=123456789

适用于本地主机,但不适用于托管站点。

我正在使用 laravel 5

【问题讨论】:

  • 你上传的这个程序是什么?你采取了哪些措施?错误发生在哪里?如果我们有更多信息,会更容易为您提供帮助。
  • 您使用的是哪家托管公司?这更有可能是因为您的托管公司阻止了 587 上的传出流量。
  • @silverskin 这是一个个人网站。此页面用作联系我们页面。我不再碰mail.php,因为它在我的本地主机中运行良好。所以我认为它会完成我上传的工作。
  • @Blaatpraat 主机。我只是使用免费域和托管。我只是在测试它是否适用于 IRL。我正在使用我的个人电子邮件接收消息

标签: php email laravel outlook


【解决方案1】:

由于某些原因,我多次遇到此错误。

当看到这个错误时,

预期的响应代码为 250,但得到代码“”,带有消息“”

三重检查您的电子邮件密码。

注意: 首先在手机应用程序上测试您的凭证或登录到邮件站点。 如果通过,您可以在.env 文件中更新

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mail.yahoo.com
MAIL_PORT=465
MAIL_USERNAME=dev.bheng@yahoo.com
MAIL_PASSWORD=****

如果您确定知道您的密码正确。

检查以确保您的 Gmail 或 Yahoo Mail 允许应用登录。

示例

Yahoo

【讨论】:

    【解决方案2】:

    我们通过清除 Laravel 的配置缓存解决了这个问题

    php artisan config:clear

    【讨论】:

    • 为我们修复了。
    • 很高兴听到它。每当我遇到 laravel 配置问题时,我都会立即运行 composer dump autoloadphp artisan config:cache,它们是您开始在 laravel 上解决问题的最佳机会。
    • 事实证明,这不是永久修复。最终,我为该客户创建了一个新的 Sendgrid 帐户,该帐户解决了问题 - 我不知道如何解决,但确实如此。
    • 您检查过 Sendgrid 的发送限制了吗?根据您所描述的问题,该问题似乎与 Sendgrid 无关,与 Laravel 或 PHP 无关。
    【解决方案3】:

    【讨论】:

    • @Primercore 始终将适合您的答案标记为已接受答案的好习惯。这样,其他用户将更有信心使用此解决方案。我注意到您最近没有将您的某些工作答案标记为已接受。您也可以接受自己的答案。感谢您对社区的贡献。
    【解决方案4】:

    这个对我有用,'如果你使用的是 GMAIL'

    1. 转到“我的帐户”
    2. 转到“登录和安全”
    3. 向下滚动到“允许安全性较低的应用”
    4. 将#3 切换到开启

    完成此操作后,如果您最近在 laravel 上设置了电子邮件配置,但仍然无法正常工作,请尝试运行:

    php artisan config:cache
    

    【讨论】:

    • 谢谢兄弟你节省了我的时间
    【解决方案5】:

    我有一个使用谷歌服务器的 laravel swiftmailer。这是我的步骤:

    1. 我访问了链接 https://www.google.com/settings/security/lesssecureapps 转身 在不太安全的应用上。
    2. 我编辑 .env 文件如下:

      MAIL_DRIVER=smtp

      MAIL_HOST=smtp.gmail.com

      MAIL_PORT=587

      MAIL_USERNAME=用户名 //即用户名@gmail.com

      MAIL_PASSWORD=password //Gmail 账户密码

      MAIL_ENCRYPTION=ssl

    使用您自己的编辑用户名和密码。

    1. 在我的控制器中,我编写了以下代码:

      $rawData = request::all();

      Mail::queue('program.meeting.emailInvite', $rawData, function($message) 使用 ($rawData)

      {

      $message->from('info@echosofts.c​​om', 'Echosofts')->to(array_map('trim', explode(',', $rawData['all_email_id'])))->主题($rawData['mail_title']);

      });

    然后电子邮件工作正常,除了发件人电子邮件 ID 是我的谷歌帐户 (username@gmail.com) 而不是 info@echosofts.c​​om。

    1. 为了解决发件人电子邮件更改问题,我访问了我的 google 帐户并执行了以下操作:

    “设置图标”-> 设置-> 帐户和导入-> 发送邮件-> 添加另一个您自己的电子邮件地址。

    以下设置取决于您的配置。

        Email address: info@echosofts.com
        SMTP server: mail.echosofts.com
        Username: info@echosofts.com
        password:**********
        Port:25
    

    【讨论】:

      【解决方案6】:

      FWIW - 我在to 字段中发送带有空字符串的电子邮件时收到此错误。

      【讨论】:

        【解决方案7】:

        在“mautic”(CRM) 中,如果您向大量联系人发送邮件,例如超过 10k,则会发生这种情况。真正的原因主要是php设置中的错误配置。例如:

        max_input_time = 60

        只会让你的服务器运行脚本 60 秒,尝试更高的值。

        PHP 配置取决于你的服务器及其安装的软件,主要由 htaccess 或 php.ini 文件配置。

        【讨论】:

          猜你喜欢
          • 2018-05-03
          • 2017-02-12
          • 2019-05-07
          • 1970-01-01
          • 2016-08-14
          • 1970-01-01
          • 2020-11-15
          • 2019-03-16
          • 2017-07-23
          相关资源
          最近更新 更多