我正在使用 Laravel 5 中的原生 Mailgun 驱动程序来发送电子邮件
\Mail::send('emails.notification', $data, function($message) use ($data)
{
$message->to('name@gmail.com', 'Joe Bob')->subject("Headline here");
});
效果很好,正在接收电子邮件,但我想知道如何从 Mailgun 获得回复,让我知道电子邮件已发送。
我怎样才能获得这些信息?
最佳答案
要了解电子邮件的状态,您可以使用 Mailgun webhooks。在 Mailgun 管理区域中,您可以指定 Mailgun 在处理完您的电子邮件后将发布到的 Webhook URL。
确保您用作 webhook 的任何 url 存在于您的应用程序中,并且在您使用的任何 Controller 中都有路由和方法。一旦您的应用程序收到发布的数据,您就可以解析发送的数据并确定电子邮件的状态。然后您可以更新您的数据库或任何您需要做的事情。
要识别哪封电子邮件,您需要在电子邮件中添加一些自定义 header ,以便稍后识别。
有关如何执行此操作的更多详细信息,请参阅此答案:Using Laravel's Mailgun driver, how do you (gracefully) send custom data and tags with your email?
webhook url 需要有效才能工作,所以如果你在本地使用 laravell homestead 进行测试,你可以看看 ngrok,它允许你将本地环境隧道连接到一个 url 以用于测试目的。
关于php - 使用 Laravel 5,如何确定 Mailgun 电子邮件是否已成功发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35766576/