Php 550坏直升机-主机模拟域名Laravel
我正在尝试设置Laravel auth,包括“密码重置”功能。但是当我试图发送电子邮件时,我发现了一个错误。我得到的错误是:Php 550坏直升机-主机模拟域名Laravel,php,laravel,email,laravel-5,Php,Laravel,Email,Laravel 5,我正在尝试设置Laravel auth,包括“密码重置”功能。但是当我试图发送电子邮件时,我发现了一个错误。我得到的错误是: Expected response code 250 but got code "550", with message "550 Bad HELO - Host impersonating domain name 我将Laravel 5.6与Cloudflare一起使用。我的主机说这可能是问题所在,但我已经尝试禁用Cloudflare仪表板中的所有Cloudflare
Expected response code 250 but got code "550", with message "550 Bad HELO - Host impersonating domain name
我将Laravel 5.6与Cloudflare一起使用。我的主机说这可能是问题所在,但我已经尝试禁用Cloudflare仪表板中的所有Cloudflare DNS功能,但没有成功。我确信我使用了正确的邮件设置,因为它们在我的手机和任何其他设备上都可以正常工作。
此外,我尝试过交换端口,无论我是否填写了有效的端口,它都会不断给我这个错误 Laravel 5.6使用$\u SERVER[“SERVER\u NAME”]作为本地域。
您应该将localdomain更改为您的邮件主机
这对我很有用:
config/mail.php
'localdomain' => env('MAIL_HOST')
您应该对供应商进行一些更改:
供应商/swiftmailer/swiftmailer/lib/dependency\u maps/transport\u 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'))
替换注释代码
我知道这是最糟糕的解决方案,但似乎没有其他解决方案。我遇到了同样的问题,我尝试了上述答案,但对我没有帮助,但出于奇怪的原因,以下方法对我有效 在/config/mail.php中添加以下行:
'localdomain' => 'localhost'
不要问我为什么xD@bardia mazaheri是对的,但更好的解决方案是这样做:
类AppServiceProvider扩展了ServiceProvider
{
公共职能登记册()
{
//存在一个错误,Swift库从$\u服务器['SERVER\u NAME']加载'transport.localdomain'值
//这会导致电子邮件服务器的主机名错误并导致错误:
//预期响应代码为250,但得到代码“550”,消息为“550坏直升机-主机模拟域名”
//这里描述https://stackoverflow.com/questions/55279922/550-bad-helo-host-impersonating-domain-name-laravel
\Swift_DependencyContainer::getInstance()
->寄存器('transport.localdomain')
->asValue('mail.domain.com');
}
}