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

Posted

技术标签:

【中文标题】预期响应代码 250,但得到代码“”,带有消息“”【英文标题】:Expected response code 250 but got code "", with message "" 【发布时间】: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。我正在使用我的个人电子邮件接收消息 【参考方案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】:

似乎 smtp 已被托管免费用户阻止。

http://www.hostinger.ph/forum/news-and-announcements/229-email-service-updates-1.html

【讨论】:

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

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

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

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

php artisan config:cache

【讨论】:

谢谢兄弟你节省了我的时间【参考方案5】:

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

    我访问了链接 https://www.google.com/settings/security/lesssecureapps 转身 在不太安全的应用上。

    我编辑 .env 文件如下:

    MAIL_DRIVER=smtp

    MAIL_HOST=smtp.gmail.com

    MAIL_PORT=587

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

    MAIL_PASSWORD=password //Gmail 账户密码

    MAIL_ENCRYPTION=ssl

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

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

    $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。

    为了解决发件人电子邮件更改问题,我访问了我的 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 文件配置。

【讨论】:

以上是关于预期响应代码 250,但得到代码“”,带有消息“”的主要内容,如果未能解决你的问题,请参考以下文章

预期响应代码“250/251/252”,但得到代码“530”,消息“需要 530 SMTP 身份验证”。

预期响应代码 250,但得到代码“535”,消息“535-5.7.8 用户名和密码不被接受

预期响应代码 220,但得到代码“”和消息“”

预期响应代码 220,但在 Laravel 中得到代码“”,消息“”

laravel 中的 Swift_TransportException 错误

Laravel 5 邮箱重置密码