带有Nette Mail的DKIM

汤姆·多尔

我计划使用php-mail-signature(https://github.com/louisameline/php-mail-signature对邮件进行签名,但是我在Nette-Mail Message类(https://中找不到方法)api.nette.org/2.4/Nette.Mail.Message.html)来设置DKIM值。

因为我认为这或多或少是基本功能,所以我想知道是否真的无法将DKIM与Nette Mail一起使用。

有可能,如果可以,我该怎么做?

汤玛斯·雅克

问题是,php-mail-signature底层太多了。它返回带符号的标头作为字符串。您需要解析$signature->get_signed_headers()输出并$message->setHeader()为每个输出调用如果您正在寻找某种魔术方法$message->setDkimSignature(),那么您将找不到它。但是您始终可以从Message继承并编写自己的类。

这只是未经测试的示例:

<?php

use mail_signature;
use Nette\Mail\Message;

final class DkimSignedMessage extends Message
{
    /**
     * @var mail_signature
     */
    private $signature;

    public function __construct(mail_signature $signature)
    {
        $this->signature = $signature;
    }

    public function generateMessage(): string
    {
        $message = $this->build();
        $signedHeaders = $this->signature->get_signed_headers(
            $message->getTo(),
            $message->getSubject(),
            $message->getBody(),
            implode("\r\n", $message->getHeaders())
        );

        foreach (explode("\r\n", trim($signedHeaders)) as $header) {
            [$name, $value] = explode(': ', $header);
            $message->setHeader($name, trim($value))
        }

        return $message->getEncodedMessage();
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

带有ssmtp的PHP mail()

带有 Laravel 的 Plesk PHP 电子邮件未收到 DKIM 签名

带有onmicrosoft.com子域的DKIM和反向Dns

12.04 POSTFIX openDKIM没有DKIM签名

gmail仍然显示带有php mail()的html标签;

Outlook Mail REST API:发送带有附件的邮件

PHP Mail()无法发送带有附件的电子邮件

带有附件的php mail()返回noname.txt

Node.js中带有Tutanota Mail的Nodemailer

G Suite for MailChimp上有多个DKIM和SPF记录

具有相同DKIM选择器的多个键?

PHPMailer无法使用Yahoo Mail地址(带有$ mail-> AddCC方法的问题)

如何解决Gmail问题?Gmail将带有已通过SPF,DKIM和DMARC的电子邮件标记为垃圾邮件

ReactJS + Redux:如何触发一个带有属性电子邮件的按钮来打开Mac Mail / Windows Mail?

Java Mail API - 以 com.sun.mail.util.BASE64DecoderStream 的形式发送带有附件的电子邮件

解析带有'['字符的电子邮件地址标题时,javax.mail错误

Android应用程序使用Java Mail API发送带有附件的电子邮件

在浏览器和Shell中带有send_mail的Django损坏管道

从PHP中的G-mail提取带有特定标签的电子邮件

mail 和 mutt 都不发送带有文件附件的电子邮件

如何发送带有附件的wp_mail(变量中的文件路径)

Perl:带有Gmail的Mail :: IMAPClient无法读取新邮件

带有Django python和gmail的send_mail时出现gaierror [Errno 8]

UTL_MAIL.SEND_ATTACH_RAW 函数使用 EDB postgres 发送带有附件的邮件的问题

C#| jstedfast / MimeKit | 具有DKIM安装程序的Office 365连接器

DKIM TrustedHosts文件问题

为什么System.Net.Mail.MailAddress构造函数在域部分中解析带有斜杠“ /”的电子邮件?

如何在 Django 中为多个收件人动态发送带有 send_mass_mail 的电子邮件?

使用wp_mail()将带有表单变量的电子邮件发送到电子邮件