Click or drag to resize
MimeKit

DkimSignerSign(FormatOptions, MimeMessage, IListHeaderId) Method

Digitally sign the message using a DomainKeys Identified Mail (DKIM) signature.

Namespace: MimeKit.Cryptography
Assembly: MimeKit (in MimeKit.dll) Version: 4.7.1
Syntax
C#
public void Sign(
	FormatOptions options,
	MimeMessage message,
	IList<HeaderId> headers
)

Parameters

options  FormatOptions
The formatting options.
message  MimeMessage
The message to sign.
headers  IListHeaderId
The list of header fields to sign.
Exceptions
ExceptionCondition
ArgumentNullException

options is null.

-or-

message is null.

-or-

headers is null.

ArgumentException

headers does not contain the 'From' header.

-or-

headers contains one or more of the following headers: Return-Path, Received, Comments, Keywords, Bcc, Resent-Bcc, or DKIM-Signature.

Remarks
Digitally signs the message using a DomainKeys Identified Mail (DKIM) signature.
Example
C#
public static void DkimSign (MimeMessage message)
{
    var headers = new HeaderId[] { HeaderId.From, HeaderId.Subject, HeaderId.Date };
    var signer = new DkimSigner ("privatekey.pem", "example.com", "brisbane", DkimSignatureAlgorithm.RsaSha256) {
HeaderCanonicalizationAlgorithm = DkimCanonicalizationAlgorithm.Simple,
BodyCanonicalizationAlgorithm = DkimCanonicalizationAlgorithm.Simple,
        AgentOrUserIdentifier = "@eng.example.com",
        QueryMethod = "dns/txt",
    };

    // Prepare the message body to be sent over a 7bit transport (such as older versions of SMTP).
    // Note: If the SMTP server you will be sending the message over supports the 8BITMIME extension,
    // then you can use `EncodingConstraint.EightBit` instead.
    message.Prepare (EncodingConstraint.SevenBit);

    signer.Sign (message, headers);
}
See Also