Laravel 使用 Mailgun 发送电子邮件

Laravel Sending Emails with Mailgun

尝试按照文档 (http://itsolutionstuff.com/post/mailgun-setup-with-laravel-5-exampleexample.html and https://laravel.com/docs/5.2/mail) 让我的 laravel 实例使用 Mailgun 发送电子邮件。似乎在联系页面上有效,因为它会将自己重定向到联系页面,但电子邮件似乎从未发送过。 Mailgun 也没有注册它发送了一封电子邮件。

在 Mailgun 中,域已经过验证并且 TXT 值的 DNS 已经设置。

使用Laravel 5.4

    Mail::send('emails.contactEmail', ['header' => $headers], function($message) {
        $message->from('info@domainname.com', 'Info Header');
        $message->to('personalemailfortest@gmail.com');

    });

.env 文件设置如下:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=postmaster@mg.domainname.com
MAIL_PASSWORD=1****************************8
MAIL_ENCRYPTION=tls

services.php

   'mailgun' => [
        'domain' => env('mg.domainname.com'),
        'secret' => env('key-f**************************e'),
    ],

控制台或 laravel.log 中没有任何错误消息。不确定哪里出了问题。甚至不确定如何开始解决此问题。

你在注册账户的时候写了你的信用卡凭证吗?

Accounts without a credit card are restricted to authorized recipients only.

Authorized Recipients

编辑 试试这个解决方案

MAIL_DRIVER=mailgun
MAIL_HOST=null
MAIL_PORT=null
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

MAILGUN_DOMAIN=your_verified_domain
MAILGUN_SECRET=your_secret_key

Copy/past 我自己的 .env 完美运行:)

config/services:

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

config/mail:

'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),