【问题标题】:550 Bad HELO - Host impersonating domain name Laravel550 Bad HELO - 主机冒充域名 Laravel
【发布时间】:2019-08-12 06:40:10
【问题描述】:

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

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

我正在使用带有 Cloudflare 的 Laravel 5.6。我的主机说这可能是问题,但我已经尝试禁用 Cloudflare Dashboard 内的所有 Cloudflare DNS 功能,但没有奏效。我确信我使用了正确的邮件设置,因为它们在我的手机和任何其他设备上都可以正常工作。 另外,我尝试过切换端口,是否填写有效端口都没关系,它会一直给我这个错误。

【问题讨论】:

    标签: php laravel email laravel-5


    【解决方案1】:

    @bardia-mazaheri 是对的,但更好的解决方案是这样做:

    class AppServiceProvider extends ServiceProvider
    {
        public function register()
        {
            // There is a bug in which the Swift library loads 'transport.localdomain' value from $_SERVER['SERVER_NAME']
            // which results to wrong host name for email server and causes an error:
            //   Expected response code 250 but got code "550", with message "550 Bad HELO - Host impersonating domain name
            // described here https://stackoverflow.com/questions/55279922/550-bad-helo-host-impersonating-domain-name-laravel
            \Swift_DependencyContainer::getInstance()
                ->register('transport.localdomain')
                ->asValue('mail.domain.com');
        }
    }
    

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,我尝试了上面的答案,但它没有帮助我,但出于奇怪的原因,以下对我有用...

      在您的 /config/mail.php 中添加以下行:

      'localdomain' => 'localhost'
      

      别问我为什么 xD

      【讨论】:

        【解决方案3】:

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

        这对我有用:

        配置/mail.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'))
        

        替换注释代码,

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

        【讨论】:

          猜你喜欢
          • 2012-01-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-05-15
          • 2015-04-12
          • 2019-01-28
          • 2011-05-19
          • 2012-06-18
          相关资源
          最近更新 更多