- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我花了一整天的时间试图理解为什么我尝试使用 Mailgun API 发送邮件在我的 Laravel 8 项目中失败了。我知道这里还有其他问题也有类似的投诉,但到目前为止,这些其他问题的答案都没有帮助。
一个潜在的线索是,当我在 .env 文件中注释掉 mailgun 域和 secret 时,我没有收到任何错误。但我无法确定原因。
我正在使用美国位置的免费沙箱域。
这是我的环境变量:
MAIL_MAILER=mailgun
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_NAME="${APP_NAME}"
MAILGUN_DOMAIN=https://api.mailgun.net/v3/....mailgun.org
MAILGUN_SECRET=5...9
服务.php:
<?php
return [
/*
|--------------------------------------------------------------------------
| Third Party Services
|--------------------------------------------------------------------------
|
| This file is for storing the credentials for third party services such
| as Mailgun, Postmark, AWS and more. This file provides the de facto
| location for this type of information, allowing packages to have
| a conventional file to locate the various service credentials.
|
*/
'mailgun' => [
'domain' => env('MAILGUN_DOMAIN'),
'secret' => env('MAILGUN_SECRET'),
],
'postmark' => [
'token' => env('POSTMARK_TOKEN'),
],
'ses' => [
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
],
];
邮件.php:
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Mailer
|--------------------------------------------------------------------------
|
| This option controls the default mailer that is used to send any email
| messages sent by your application. Alternative mailers may be setup
| and used as needed; however, this mailer will be used by default.
|
*/
'default' => env('MAIL_MAILER', 'mailgun'),
/*
|--------------------------------------------------------------------------
| Mailer Configurations
|--------------------------------------------------------------------------
|
| Here you may configure all of the mailers used by your application plus
| their respective settings. Several examples have been configured for
| you and you are free to add your own as your application requires.
|
| Laravel supports a variety of mail "transport" drivers to be used while
| sending an e-mail. You will specify which one you are using for your
| mailers below. You are free to add additional mailers as required.
|
| Supported: "smtp", "sendmail", "mailgun", "ses",
| "postmark", "log", "array"
|
*/
...
示例邮件.php:
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class ExampleMail extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this
->from('<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="82ecedaff0e7f2eefbc2e7fae3eff2eee7ace1edef" rel="noreferrer noopener nofollow">[email protected]</a>')
->markdown('emails.example');
}
}
在我的 Controller 中,我正在执行以下操作:
Mail::to('[my hard-coded email]')->send(new ExampleMail());
谁能帮我找出问题所在吗?我安装了 guzzle: "guzzlehttp/guzzle": "^7.4",所以这不应该是问题,即使是问题,至少也会出现某种错误。
帮助将不胜感激。我对 Laravel 还很陌生,所以目前我有点不知所措。
最佳答案
我刚刚遇到了同样的问题...您也可以按 Ctrl+p
,然后输入 MailgunTransport.php
并按 Enter
>,它将打开 mailgun 传输文件或仅导航 vendor>laravel>framework>src>illumate>Mail>Transport
并打开 MailgunTransport.php
文件。
在第 80 行注释掉此 //throw new Swift_TransportException('Request to Mailgun API failed.', $e->getCode(), $e);
并将其替换为 dd($e)
然后再次运行脚本。这将显示您遇到的确切问题,并且通过这种方式修复会更容易,而不是诸如 Request to Mailgun API failed.
解决任何问题后,请不要忘记取消第 80 行的注释
关于php - Mailgun API 在 Laravel 8.54 中默默失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69888631/
Mailgun 是否可以仅将电子邮件的非附件部分 POST 到我的 API,以防止大附件影响应用程序的性能? 最佳答案 Mailgun 可以通过入站功能为您托管附件。 您可以使用事件 API 命令 s
我尝试通过更改帐户设置上的时区来更改日志上的时区,但未应用。如何更改日志上的时区? 最佳答案 如果没有改变,也许您可以在每封发送的电子邮件上添加您的日期和 o:deliverytime date(
免费计划 Mailgun 帐户每月可以发送 10,000 封电子邮件。我想知道是否有办法通过 API 查看发送和接收了多少电子邮件? 最佳答案 我认为您正在寻找的是 stats API 您可以使用它来
我有以下用例: 通过Mailgun批量发送发票 基本上我需要结合这些功能:- 收件人变量,以便每个收件人都能收到个性化的电子邮件- 每个收件人变量都包含已订购商品的列表- 每个项目都有属性,如:名称、
目前,当我从 Mailgun SMTP 发送邮件但未送达时,邮件会静静地丢弃,并且有关它的跟踪只会出现在日志中。是否可以像在标准电子邮件帐户中那样在递送失败时收到递送通知? (送货单如:这是自动生成的
我无法弄清楚如何在与 Mailgun 集成 SMTP 的电子邮件中添加取消订阅链接。 有什么想法吗? 最佳答案 Mailgun 为您提供了几个取消订阅变量: 1) %unsubscribe_url%
我正在通过 node.js 应用程序向 Mailgun 发送电子邮件。我不断收到 421 语法错误消息。有时消息最终会被传递,以下是一条消息的历史记录: Date/Time Summary 201
我有一个包含 Google Cloud DNS 的域名。我的 SPF 记录不适用于 mailgun 域验证 v=spf1 include:spf.protection.outlook.com incl
我正在使用 CMS 在提交表单时发送电子邮件。它配置为使用 smtp.mailgun.org:587 和用户名 postmaster@domain.com。我的电子邮件使用 Google Apps,因
我已经设置了一个新帐户,但没有验证我的域。在继续验证和添加付款信息之前,我想测试并确认邮件发送。 我已经尝试过使用沙箱方法和 api key (包括 smtp)来 curl 。我还尝试使用顶级帐户邮件
我尝试用图书馆发送电子邮件Mailgun在 Codeigniter 中使用 composer 安装。我收到一些错误: Fatal error: Sendmail cannot use Mailgun\
我在 Heroku 的生产环境中遇到了问题,使用 Devise 可确认的电子邮件。为此,我一直在使用 Mailgun,现在正在迁移到 Mandrill。所有对 Mailgun 的引用都已从代码中删除,
编辑:我尝试实现 gzip 但无法使其与 zipfile 库一起使用。文档似乎表明 zlib 是唯一兼容的库。我还尝试重新安装 zlib。 我在创建的 Python 脚本中遇到了一个奇怪的问题。该脚本
我想用 mailgun 处理交易电子邮件。 并使用 gsuite 作为我的“普通”商业电子邮件提供商。 在每个 mailgun 支持页面上,您都会看到以下消息: 警告 如果您已经有其他提供商处理您的域
我们正在支持在我们的应用程序中跟踪 Mailgun 事件。我们审查了提议的 event polling algorithm但发现自己不太适应。首先,我们不希望丢弃我们已经获取的数据,然后在暂停后从头开
我希望能够从 foo@*.mydomain.com 发送并接收响应,而无需为我感兴趣的每个子域(bar.mydomain.com、baz.mydomain.com 等)手动设置 MX 记录。 com
我正在开发的应用程序中使用 Mailgun。发送电子邮件工作正常,现在我正在尝试将其设置为接收传入电子邮件。 我根据 Mailgun 文档进行了设置,以便将所有内容自动转发到我常用的电子邮件地址。然后
我很快就会将很多客户从 Mandrill 迁移出去,而 Mailgun 听起来不错,所以我将一个小客户转移过来,但已经跳转到一个有效地址: 服务器响应:554 554 BigPond 入站连接被拒绝。
我正在使用 php 框架 Laravel 将带有 mailgun 的电子邮件发送到某个列表。电子邮件已发送,所有链接已更改为 email.mg.mydomain/c/.... 出于某种原因,在我发送的
在 here 有很好的例子这说明了如何从命令行发送电子邮件。我的问题是我不明白附件是如何工作的。这是示例代码: curl -s --user 'api:YOUR_API_KEY' \ http
我是一名优秀的程序员,十分优秀!