预期响应代码 250,但收到代码“550”Laravel swift 邮件程序

Moh*_*ini 3 php email swiftmailer laravel

我可以从 Tinker 发送电子邮件,但是当我尝试从 Laravel 框架中的代码发送电子邮件时,出现以下错误:

Swift_TransportException (550)
Expected response code 250 but got code "550", with message "550 Bad HELO - Host impersonating domain name [mydomain.com] "
Run Code Online (Sandbox Code Playgroud)

这是我测试从 laravel 控制器发送电子邮件的简单邮件方法:

  Mail::send('errors.401', [], function ($message) { $message->to('my.email@gmail.com')->subject('this works!'); });
Run Code Online (Sandbox Code Playgroud)

.env 文件:

MAIL_DRIVER=smtp
MAIL_HOST=mail.mydomain.com
MAIL_PORT=587
MAIL_USERNAME=info@mydomain.com
MAIL_PASSWORD=<password>
MAIL_ENCRYPTION=
Run Code Online (Sandbox Code Playgroud)

我已完成以下步骤,但仍然不起作用:

composer dump-autoload
php artisan view:clear
php artisan cache:clear
php artisan config:cache
Run Code Online (Sandbox Code Playgroud)

更新:

我的代码位于 ubuntu 服务器上,我配置了 dns 服务器和 bind9 将域连接到服务器,并且我有一个外部邮件服务器来处理电子邮件。

因此,每当在 ubuntu 服务器中创建电子邮件请求时,它都会将其转发到外部邮件服务器。

我应该去哪里寻找问题?

Moh*_*ini 5

我在浪费了大量时间后解决了这个问题,希望这个答案不再浪费其他人的时间。

这是由于本地域名,我们需要在我们的mail.php配置文件中定义一个本地名称,这使得我们的服务器不会与外部服务器域名混淆。

 'local_domain' => env('MAIL_HOST', 'mail.mydomain.com'), 
Run Code Online (Sandbox Code Playgroud)