IMailTransportExtensionsSend(IMailTransport, FormatOptions, MimeMessage, CancellationToken, ITransferProgress) Method

Send the specified message.

Definition

Namespace: MailKit
Assembly: MailKit (in MailKit.dll) Version: 5.0.0
C#
public static SendResult Send(
	this IMailTransport transport,
	FormatOptions options,
	MimeMessage message,
	CancellationToken cancellationToken = default,
	ITransferProgress? progress = null
)

Parameters

transport  IMailTransport
The transport.
options  FormatOptions
The formatting options.
message  MimeMessage
The message.
cancellationToken  CancellationToken  (Optional)
The cancellation token.
progress  ITransferProgress  (Optional)
The progress reporting mechanism.

Return Value

SendResult
The result of sending the message.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IMailTransport. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

Remarks

Sends the specified message.

The sender address is determined by checking the following message headers (in order of precedence): Resent-Sender, Resent-From, Sender, and From.

If either the Resent-Sender or Resent-From addresses are present, the recipients are collected from the Resent-To, Resent-Cc, and Resent-Bcc headers, otherwise the To, Cc, and Bcc headers are used.

Example

C#
                    public static void SendMessageWithOptions (MimeMessage message)
{
    using (var client = new SmtpClient ()) {
        client.Connect ("smtp.gmail.com", 465, SecureSocketOptions.SslOnConnect);

        client.Authenticate ("username", "password");

        var options = FormatOptions.Default.Clone ();

        if (client.Capabilities.Contains (SmtpCapability.UTF8))
            options.International = true;

        client.Send (options, message);

        client.Disconnect (true);
    }
}
                  

Exceptions

ArgumentNullException

options is .

-or-

message is .

ObjectDisposedException The IMailTransport has been disposed.
ServiceNotConnectedException The IMailTransport is not connected.
ServiceNotAuthenticatedException Authentication is required before sending a message.
InvalidOperationException

A sender has not been specified.

-or-

No recipients have been specified.

OperationCanceledException The operation has been canceled.
IOException An I/O error occurred.
CommandException The send command failed.
ProtocolException A protocol exception occurred.

See Also