php - 550 Bad HELO - 主机冒充域名 Laravel

标签 php laravel email laravel-5

我正在尝试设置 Laravel 身份验证,包括“密码重置”功能。但是当我尝试发送电子邮件时遇到错误。我得到的错误是:

Expected response code 250 but got code "550", with message "550 Bad HELO - Host impersonating domain name 

我将 Laravel 5.6 与 Cloudflare 结合使用。我的托管说这可能是问题所在,但我已经尝试禁用 Cloudflare Dashboard 中的所有 Cloudflare DNS 功能,但这没有用。我确信我使用的是正确的邮件设置,因为它们在我的手机和任何其他设备上都能正常工作。 另外,我试过切换端口,如果我填写一个有效的端口并不重要,它会一直给我这个错误。

最佳答案

Laravel 5.6 使用 $_SERVER["SERVER_NAME"] 作为你的本地域。 您应该将 localdomain 更改为您的 MAIL_HOST

这对我有用:

配置/邮件.php

'localdomain' => env('MAIL_HOST')

你应该对供应商做一点改变: 供应商/swiftmailer/swiftmailer/lib/dependency_maps/transport_deps.php

    //->asValue(!empty($_SERVER['SERVER_NAME']) && '' === preg_replace('/(?:^\[)?[a-zA-Z0-9-:\]_]+\.?/', '', $_SERVER['SERVER_NAME']) ? trim($_SERVER['SERVER_NAME'], '[]') : '127.0.0.1')
    ->asValue(config('mail.localdomain'))

替换注释代码,

我知道这是最糟糕的解决方案,但似乎没有其他解决方案。

关于php - 550 Bad HELO - 主机冒充域名 Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55279922/

相关文章:

c# - 使用 C# 返回 JSON,如 PHP json_encode

php - MySQL根据第二个表字段值批量更新表

运算符的 PHP 优先级

php - 如何在laravel5中获取另一个表的列数据?

laravel - 在 PhpStorm 中为 Laravel 项目实时编辑

mysql - 从多个表中选择列?

c# - mailto 的更好替代方案

php - nginx 上的 Laravel 显示 403,但我的路径是正确的

java - 在 Hudson 的通知电子邮件中包含最新测试结果信息

c# - 在 C# 中发送电子邮件