服务器:Digital Ocean
Ubuntu 16.04
Laravel 5.8
我无法使用mailgun.com从laravel发送电子邮件。在Digital Ocean中,我已经在防火墙上打开了所有出站端口,在Digital Ocean中设置了TXT和MX记录的正确DNS设置。我在我的域名注册机构上拥有正确且已验证的DNS记录,并且mailgun在所有方面都具有绿色复选标记。
config/mail.php
return [
'driver' => 'mailgun',
'host' => 'smtp.mailgun.org',
'port' => 587,
'from' => [
'address' => 'orders@domain.com',
'name' => 'Company Name'
],
'encryption' => 'tls'),
'username' => 'orders@mg.domain.com',
'password' => 'xxxxd663hd02j727bb2eefd1ea38bbe0-58bc211a-670xxxx'
];
配置/services.php
'mailgun' => [
'domain' => 'https://api.mailgun.net/v3/mg.domain.com',
'secret' => 'xxxxehbe8v25g3374e5as3ff32a45995-39bc661a-4716xxxx',
],
控制器
use Illuminate\Support\Facades\Mail;
$data = [
'email' => 'email@yahoo.com',
'name' => 'Bob Smith'
];
$body_data = [
'id' => '1234'
];
Mail::send('emails.shipped', $body_data, function($message) use ($data)
{
$message->to($data['email'], $data['name'])->subject('Test Email');
});
当我把邮件驱动程序更改为日志记录并检查日志文件时,一切看起来都很好。所有东西看起来都完美,我以前在 Laravel 5.5 上使用过 mailgun,没有任何问题。
我还尝试了新的 laravel 构建方法,但出现了相同的问题。
我没有收到任何错误消息,我在 apache2 上检查了日志,mailgun 中也没有任何日志出现,在收件箱或垃圾邮件中当然也没有收到任何电子邮件。
我的问题是,我漏掉了什么吗?我还能做什么其他的故障排除吗?似乎我的应用程序没有正确连接到 mailgun。
'encryption'
行的末尾似乎有一个拼写错误。 - Kenny Horna