预期响应代码 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 autoload
和 php 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.com', 'Echosofts')->to(array_map('trim', explode(',', $rawData['all_email_id'])))->主题($rawData['mail_title']);
);
然后电子邮件工作正常,除了发件人电子邮件 ID 是我的谷歌帐户 (username@gmail.com) 而不是 info@echosofts.com。
-
为了解决发件人电子邮件更改问题,我访问了我的 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,但在 Laravel 中得到代码“”,消息“”