首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Laravel 5.4中使用Mailgun get发送邮件时出现错误代码“401 UNAUTHORIZED` response: Forbidden”

基础概念

Mailgun 是一个电子邮件服务提供商,提供了发送和接收电子邮件的 API。Laravel 是一个流行的 PHP 框架,提供了与 Mailgun 集成的功能。在 Laravel 中使用 Mailgun 发送邮件时,通常会通过 Mailgun 的 API 进行通信。

错误代码“401 UNAUTHORIZED”

错误代码“401 UNAUTHORIZED”表示请求未被授权。这通常是由于 API 密钥或域名配置不正确导致的。

可能的原因

  1. API 密钥错误:你使用的 Mailgun API 密钥不正确或已过期。
  2. 域名配置错误:你在 Mailgun 中配置的域名不正确或未验证。
  3. 请求头缺失:请求头中缺少必要的认证信息。

解决方法

1. 检查 API 密钥

确保你使用的 API 密钥是正确的,并且没有过期。你可以在 Mailgun 的控制台中查看和生成新的 API 密钥。

代码语言:txt
复制
// 在 .env 文件中配置 Mailgun API 密钥
MAILGUN_SECRET=your_mailgun_secret_key

2. 检查域名配置

确保你在 Mailgun 中配置的域名是正确的,并且已经通过验证。

代码语言:txt
复制
// 在 .env 文件中配置 Mailgun 域名
MAILGUN_DOMAIN=your_mailgun_domain

3. 确保请求头包含认证信息

在 Laravel 中,确保你的邮件发送代码正确配置了 Mailgun 的认证信息。

代码语言:txt
复制
// 在 config/mail.php 中配置 Mailgun 传输
'mailgun' => [
    'transport' => 'mailgun',
    'secret' => env('MAILGUN_SECRET'),
    'domain' => env('MAILGUN_DOMAIN'),
],

4. 示例代码

以下是一个简单的示例,展示如何在 Laravel 5.4 中使用 Mailgun 发送邮件:

代码语言:txt
复制
// 发送邮件
use Illuminate\Support\Facades\Mail;

$mail = new \Illuminate\Mail\Message;
$mail->from('sender@example.com', 'Sender Name');
$mail->to('recipient@example.com', 'Recipient Name')->subject('Test Email');
$mail->text('This is a test email.');

Mail::send(['html' => 'emails.test'], ['name' => 'John'], function ($message) use ($mail) {
    $message->from('sender@example.com', 'Sender Name');
    $message->to('recipient@example.com', 'Recipient Name')->subject('Test Email');
});

if (count(Mail::failures()) > 0) {
    // 处理发送失败的情况
    echo "There was one or more failures. They were: " . implode(", ", Mail::failures());
} else {
    echo "Email sent successfully!";
}

参考链接

通过以上步骤,你应该能够解决“401 UNAUTHORIZED”错误,并成功使用 Mailgun 发送邮件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券