php - Laravel - 没有使用 mailgun 发送电子邮件
问题描述
服务器:数字海洋
Ubuntu 16.04
拉拉维尔 5.8
我无法使用 mailgun.com 从 laravel 发送电子邮件
在 Digital Ocean 中,我在防火墙上打开了所有传出端口,我在 Digital Ocean 中为 TXT 和 MX 记录设置了正确的 DNS 设置。我在我的域注册器上拥有正确且经过验证的 DNS 记录,并且 mailgun 在所有域名上都有一个绿色复选标记
配置/邮件.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'
];
配置/服务.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。
解决方案
我认为在您config/services.php
的 mailgun.domain 中应该更像
mg.domain.com
(或者sandboxXXXXXXX.mailgun.org
如果那是一个开发环境),而不是像您设置的那样的 url。
推荐阅读
- javascript - 为jQuery中动态创建的按钮提供不同的ID
- javascript - RxJS:Forkjoin 类实例属性
- python - 无法正确加密python3中的数据
- python - 无法从 PIL 导入 PILLOW_VERSION
- python - 如何使用 Python Selenium 单击具有 href 属性的元素
- java - 找到超过 1 行具有给定标识符的行
- jsf - Primefaces 多选列表框
- python - CSRF 令牌的值在 Django 中没有改变
- sql - 使用元素的顺序将 2 个分隔列拆分为行的 SQL 服务器代码
- azure - 从 CLI 传递 url 作为 ARM 模板中的参数