ฉันใช้แอปบรรทัดคำสั่งอย่างง่ายกับ C# / NET 6 เพื่อทำหน้าที่เป็นตัวกรองใน E-MailRelay:
ใช้ System.IO;
ใช้ System.Text;
ใช้ MimeKit;
ใช้ MimeKit.Cryptography;
เนมสเปซ E_MailRelay.DKIM.Filter;
/// <บทสรุป>
/// อ่านข้อความอีเมล เพิ่มลายเซ็น Hardcoded DKIM และเขียน 
ข้อความที่อัปเดตกลับไปยังดิสก์
/// โปรดทราบว่าสิ่งนี้ต้องการการติดตั้ง MailKit เพื่อให้ทำงานได้ 
///</สรุป>
โปรแกรมชั้นเรียนภายใน
{
สตริง const ส่วนตัว DKIMSelect = "ENTER_YOUR_DKIM_SELECTOR_HERE";
สตริง const ส่วนตัว _DKIMDomain = "ENTER_YOUR_DOMAIN_NAME_HERE";
สตริง const ส่วนตัว DKIMPrivateKey = "-----BEGIN RSA PRIVATE KEY-----\r\n"
                                      + @"ENTER_YOUR_PRIVATE_KEY_HERE"
                                      + "\r\n-----END RSA PRIVATE KEY-----";
ส่วนตัวคง int Main(string[] args)
{
    LoadSignAndRewriteMail(หาเรื่อง);
    กลับ 102;
}
โมฆะคงที่ส่วนตัว LoadSignAndRewriteMail (string[] args)
{
    var emailMessage = MimeMessage.Load(args[0]);
    ถ้า (!emailMessage.Headers.Contains(HeaderId.DkimSignature)
        && !emailMessage.Headers.Contains(HeaderId.DomainKeySignature))
    {
        SignMail (ข้อความอีเมล);
    }
    emailMessage.WriteTo(args[0]);
}
ส่วนตัวโมฆะคงที่ SignMail (อีเมลข้อความ MimeMessage)
{
    var pk = DKIMPrivateKey;
    สตรีม MemoryStream = ใหม่ (การเข้ารหัส UTF8.GetBytes (pk));
    {
        stream.Position = 0;
    }
    var dkimSigner = DkimSigner ใหม่ (สตรีม, _DKIMDomain, DKIMSelector);
    HeaderId[] dkimSignHeaders =
    {
        HeaderId.To, HeaderId.Cc, HeaderId.Subject, HeaderId.From, HeaderId.Date, HeaderId.MessageId, HeaderId.Body,
        HeaderId.Date, HeaderId.MimeVersion, HeaderId.Sender, HeaderId.ReplyTo, HeaderId.ContentTransferEncoding,
        HeaderId.ContentId, HeaderId.ContentDescription, HeaderId.ResentDate, HeaderId.ResentFrom,
        HeaderId.ResentSender, HeaderId.ResentTo, HeaderId.ResentCc, HeaderId.ResentMessageId, HeaderId.InReplyTo,
        HeaderId.References
    };
    dkimSigner.Sign (FormatOptions.Default, emailMessage, dkimSignHeaders);
}
}