【发布时间】:2019-08-01 23:13:41
【问题描述】:
我阅读了所有我能阅读的内容 看起来我根据文档(和互联网)设置并填写了任何地方,但仍然无法收到任何电子邮件。
我需要使用 MailGun API,这样我就可以从我的 localhost 以及从 test 和 prod + 发送电子邮件,因为 25 端口通常是关闭的。
我填写了我能做的所有事情,以防万一发生奇迹(在.env 的 smtp/mailgun 之间切换)
我已经尝试了我的真实服务器设置,并且当我尝试失败时也没有任何成功的沙箱。
我的 mailgun 数据访问(隐藏了一些字母):
我的 mailgun 沙箱服务器 http://i.imgur.com/XCi8Hkn.png
当我点击它时,我可以在 API 和 SMTP 之间进行选择
2.1 在 API 选项卡中我有 API KEY:http://i.imgur.com/xGSq7aF.png
2.2 在 SMTP 框中我有 smtp 主机、端口、登录名、密码:http://i.imgur.com/t5Pi6lH.png- 我的
.env:
MAIL_DRIVER=mailgun
MAILGUN_DOMAIN=sandbox8ffe89553e224c468f4ad0cf6b4da3c2.mailgun.org
MAILGUN_SECRET=b3ff30bxxxxxxxxxxxxxxxx087d-f877bd7a-01ecceaa
在互联网某处发现 MAILGUN_DOMAIN 和 MAILGUN_SECRET
可以添加到.env,所以也可以在这里尝试
config/mail.php
'driver' => env('MAIL_DRIVER', 'mailgun'),
app/mail/Test.php
public function build()
{
return $this->from('support@sandbox8ffe89553e224c468f4ad0cf6b4da3c2.mailgun.org')
->subject('HELLO')
->view('test');
}
沙盒“到”电子邮件已验证http://i.imgur.com/tDhgLcT.png
TestController
use App\Mail\Test;
use Illuminate\Support\Facades\Mail;
class TestController extends Controller
{
public function test()
{
echo 'hello';
try {
Mail::to('myaddress@gmail.com')->send(new Test());
} catch (\Exception $e) {
dump($e);
}
echo 'hello2';
}
}
resources/views/test.blade.php
hello
- 为了以防万一
> artisan cache:clear
> artisan config:cache
> artisan cache:clear
9
请帮忙,缺少什么?我做错了什么?
【问题讨论】:
-
查看@kopz 的回答,没错,你需要在邮件配置文件上使用 .env 文件常量,实际上,你永远不需要更改 config/Mail,只需要在 .env 上指定常量。 .env 文件。
-
是的,这部分是我已将键重命名为值的问题,但我是在玩了花里胡哨之后才发现的。主要问题是为什么在我的配置中出现 MAIL_FROM_NAME: John Doe 和冒号,我没有收到来自 laravel 或来自 artisan config:cache 的任何错误。当我看到它时,将冒号更改为 = 然后删除了缓存,工匠说我“嘿,你不能在配置中有空格”,一旦删除了空格,一切都开始工作了
-
很高兴,您的问题已经解决了。