所以我使用的是Laravel 5.1,并尝试与Mailgun集成。好吧,这很简单,但现在我正在尝试从我的应用程序中发送custom variables以及我的电子邮件。
我实际上将我们的应用程序从Mandrill转移到了他们的“新方向”之类的地方。有了它们,我可以通过电子邮件头提供变量和标签,但使用Mailgun,只有当您通过SMTP发送时才有效。在Laravel中,Mail::send()
使用了一个API调用,所以理论上我会用"v:my-custom-data" => "{"this_id": 123}"
添加元数据,但我希望避免像这样修改核心类。
我也考虑过使用Bogardo/Mailgun,但是我不得不用Mailgun::send()
替换所有的Mail::send()
,然后我就不能在本地发送电子邮件(基于环境的电子邮件驱动程序),然后应用程序就会“结婚”到邮件枪上。
以前有人这么做过吗?如果我说得不够清楚,请告诉我。
发布于 2018-09-26 21:01:40
Laravel 5.4+更新
正如您在offical docs中所看到的那样
Mailable
基类的withSwiftMessage
方法允许您注册一个回调,该回调将在发送消息之前通过原始SwiftMailer消息实例调用。这为您提供了在消息传递之前自定义消息的机会:
/**
* Build the message.
*
* @return $this
*/
public function build()
{
$this->view('emails.orders.shipped');
$this->withSwiftMessage(function ($message) {
$message->getHeaders()
->addTextHeader('Custom-Header', 'HeaderValue');
});
}
发布于 2016-10-13 15:55:16
你可以在Laravel 5中这样做:
Mail::send(['text' => 'my_template'], $data, function ($message) {
..
$message->getSwiftMessage()->getHeaders()->addTextHeader('X-Mailgun-Tag', 'my-tag');
});
发布于 2019-02-22 05:10:20
邮件枪驱动程序的Laravel实现不支持选项/参数。
下面是向本机驱动程序添加支持的要点:https://gist.github.com/j0um/27df29e165a1c1e0634a8dee2122db99
https://stackoverflow.com/questions/35848266
复制相似问题