提问者:小点点

Laravel-不使用邮枪发送电子邮件


服务器:数字海洋

Ubuntu 16.04

Laravel 5.8

我无法使用邮枪从拉雷维尔发送电子邮件。通用域名格式

在数字海洋中,我在防火墙上打开了所有输出端口,我在数字海洋中为TXT和MX记录设置了正确的DNS设置。我在我的域名注册星上有正确的和经过验证的域名系统记录,邮件枪在所有域名上都有一个绿色复选标记

配置/邮件。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。


共3个答案

匿名用户

我认为在你的配置/服务中。phpmailgun。域应该更像mg。领域com(或者sandboxXXXXXXX.mailgun.org,如果这是一个开发环境),而不是像您设置的那样的url。

匿名用户

试着把:

'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), 

mailgun数组中。

匿名用户

我使用laravel 5.8和它的工作与所有默认配置

.环境

MAIL_DRIVER=mailgun
MAILGUN_DOMAIN=sandbox8a408833ad1540e7b3a5d0151f606531.mailgun.org
MAILGUN_SECRET=92df7e85eeeaccaeae3d3b3164600666-87cdd773-8c819599

网状物php

Route::get('send_test_email', function(){
    Mail::raw('Sending emails with Mailgun and Laravel is easy!', function($message)
    {
        $message->to('your_test_email@gmail.com');
    });
});

服务。php

'mailgun' => [
    'domain' => env('MAILGUN_DOMAIN'),
    'secret' => env('MAILGUN_SECRET'),
],