Php Laravel Facades/Mail-错误代码554 5.5.1,但手动SMTP邮件有效
我正在使用Laravel 5.7,遇到了一个问题,当我尝试通过以下代码发送邮件时,我得到了错误代码“554 5.5.1”。但这只适用于邮件服务器之外的收件人。在邮件服务器上,我可以发送邮件,例如从test@[myDomain]到no reply@[myDomain],但不能发送到gmail地址或其他地址 现在真正奇怪的是: 使用SMTP连接脚本时,邮件将正确发送。内部和外部都没有问题。另外,当我使用Outlook从本地计算机连接到邮件服务器时,也没有问题 似乎我的Laravel配置出了问题,但我不知道是什么。我还多次刷新了配置缓存 这是我的控制器功能:Php Laravel Facades/Mail-错误代码554 5.5.1,但手动SMTP邮件有效,php,laravel,email,smtp,Php,Laravel,Email,Smtp,我正在使用Laravel 5.7,遇到了一个问题,当我尝试通过以下代码发送邮件时,我得到了错误代码“554 5.5.1”。但这只适用于邮件服务器之外的收件人。在邮件服务器上,我可以发送邮件,例如从test@[myDomain]到no reply@[myDomain],但不能发送到gmail地址或其他地址 现在真正奇怪的是: 使用SMTP连接脚本时,邮件将正确发送。内部和外部都没有问题。另外,当我使用Outlook从本地计算机连接到邮件服务器时,也没有问题 似乎我的Laravel配置出了问题,但我
// ClientMatching is a Mailable
Mail::to('[externalMail]')->send(new ClientMatching());
这是我的。环境:
MAIL_DRIVER=smtp
MAIL_HOST=[myDomain]
MAIL_PORT=25
MAIL_USERNAME=test@[myDomain]
MAIL_PASSWORD=[myPassword]
MAIL_FROM_ADDRESS=test@[myDomain]
这是我的config/mail.php
return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', '[myDomain]'),
'port' => env('MAIL_PORT', 25),
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'test@[myDomain]'),
'name' => env('MAIL_FROM_NAME', '[myName]'),
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('test@[myDomain]'),
'password' => env('[myPassword'),
'sendmail' => '/usr/sbin/sendmail -bs',
'markdown' => [
'theme' => 'default',
'paths' => [
resource_path('views/vendor/mail'),
],
],
];
这是我的邮件
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class ClientMatching extends Mailable
{
use Queueable, SerializesModels;
public function __construct()
{
//
}
public function build()
{
return $this->view('mails.client-matching');
}
}
im面临同样的问题,手动发送相同的邮件,邮件可邮寄,但不可通知(在用户模型中验证电子邮件界面)我已经找到了解决办法。我使用自定义类来发送邮件,但仍然使用Mailables来呈现邮件的内容。工作非常好,我现在已经完全控制了发送过程。