IMail Transport ExtensionsSend(IMail Transport, Format Options, Mime Message, Cancellation Token, ITransfer Progress) Method
Send the specified message.
Definition
Namespace: MailKit
Assembly: MailKit (in MailKit.dll) Version: 5.0.0
The result of sending the message.
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
SendResultThe 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. |