首页 文章

使用Mailgun在Laravel 5.4中发送邮件获取错误代码“401 UNAUTHORIZED` response:Forbidden”

提问于
浏览
2

我正在尝试使用Mailgun在Laravel 5.4项目中发送邮件 . 我想我正确设置了配置 . 但是,我收到了这样的错误信息

RequestException.php第111行中的ClientException:客户端错误:POST https://api.mailgun.net/v3/sandboxfeb88d58f18841738b2fc81d7cbc7631.mailgun.org/messages.mime>导致401 UNAUTHORIZED响应:Forbidden

这是我的配置:

在.env文件中

MAIL_DRIVER=mailgun
MAILGUN_DOMAIN=sandboxfeb88d58f18841738b2fc81d7cbc7631.mailgun.org
MAILGUN_SECRET=pubkey-1767e**********

在mail.php文件中

'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'from' => [
    'address' => env('MAIL_FROM_ADDRESS', 'richi.htoo@gmail.com'),
    'name' => env('MAIL_FROM_NAME', 'Richi Htoo'),
],

在services.php文件中

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

我写了邮件发送默认路由代码,如

Route::get('/', function () {
//return view('welcome');

    $data = [
        'title' => 'Hi student I hope you like the course',
        'content' => 'This laravel course was created with a lot of love and dedication for you'
    ];

    Mail::send('emails.test', $data, function($message){
        $message->to('white.nuzzle@gmail.com', 'White Nuzzle')->subject('Hello student how are you?');
    });
});

而且我还安装了Laravel Package“guzzlehttp / guzzle”6.2版来发送邮件 .

但是,当我调用默认的主路由时,我收到了上面提到的错误消息 .

我在任何地方都找不到任何解决方案,包括这个论坛“stackoverflow.com” .

有人可以帮我吗?

4 回答

  • 0

    坦率地说,这是一次相当严峻的磨难,我让沙盒的工作方式如下

    • 添加了授权收件人 - 显然沙箱无法向任何人发送电子邮件,您需要将其添加为授权收件人 .

    • 在.env文件中使用正确的凭据添加了 MAILGUN_DOMAINMAILGUN_SECRET ,因为services.php使用它们 . 请记住 MAILGUN_SECRET 是私钥,以 key- 开头,请勿在此处使用公钥

    • MAIL_DRIVER=mailgun MAIL_HOST=smtp.mailgun.org MAIL_PORT=587 MAIL_USERNAME=postmaster@sandboxcc*****************.mailgun.org MAIL_PASSWORD=****************** MAIL_ENCRYPTION=tls

    • !!!MOST IMPORTANT!!!! RESTART YOUR SERVER to load the new .env file .

  • 0

    就个人而言,我从来没有让沙箱帐户工作 . 一个多月前我就这么做了 . Sandbox从未工作过,但我创建的真实账户却没有 . 尝试切换到真实帐户,让我知道这是否适合您 .

  • 2

    只需转到配置文件夹即可 . 并做了一些改变..

    'mailgun' => [
        'domain' => env('your_domainxxxxxxx.mailgun.org'),
        'secret' => env('key-xxxxxxxx_private_API_keyxxxx'),
    ],
    

    错误将被解决 .

  • 0

    确保检查邮件的凭据,确保它们是正确的 .

    不要复制公共验证密钥 . 请复制私有API密钥

相关问题