Laravel 5:使用DKIM签署电子邮件

时间:2016-04-30 13:31:19

标签: php email laravel smtp dkim

在我的项目中,我正在尝试使用Laravel 5通过我自己的SMTP服务器发送电子邮件。我已经使用SMTP驱动程序正确设置了所有内容,并且我正在设置发送和接收电子邮件。

我想使用DKIM进行设置。我已经设置了我的公钥并将其提供给我的DNS,并且我已准备好私钥以开始签署我的消息。

但是,我找不到任何关于如何使用Laravel / Swift Mailer设置DKIM签名的文档。我之前在另一个使用PHPMailer的非Laravel项目中设法用DKIM签署我的电子邮件,但在这里找不到任何方法。我浏览了Illuminate\Mail\MessageIlluminte\Mail\Mailer但找不到任何相关信息。

有谁知道怎么做?

当前示例代码:

public function handle(UserWasRegistered $event)
{
    $user = $event->getUser();

    $this->mailer->send(['emails.users.welcome.html', 'emails.users.welcome.text'], ['user' => $user], function($message) use($user) {
        $message->subject('Welcome to XXXXXX');
        $message->to($user->email);
    });
}

理想情况下,我希望能够在配置中的某处提供我的DKIM私钥,并使用Laravel / Swift Mailer(或者编写一些代码)为我签署我的消息。

干杯

2 个答案:

答案 0 :(得分:1)

我为Laravel 5编写了MailServiceProvider的装饰器,它提供了使用DKIM签署外发消息的能力:

https://github.com/vitalybaev/laravel5-dkim

答案 1 :(得分:0)

您必须扩展Laravel Mailer和邮件服务提供商。使用新的Swift_Message类而不是Swift_SignedMessage的默认laravel邮件程序,这就是为什么你没有签名选项的原因。

以下是laravel 4的一个包。