MailKit.Net.Smtp.SmtpClient.MailFrom C# (CSharp) Method

MailFrom() private method

private MailFrom ( MimeMessage message, MimeKit.MailboxAddress mailbox, SmtpExtension extensions, CancellationToken cancellationToken ) : void
message MimeKit.MimeMessage
mailbox MimeKit.MailboxAddress
extensions SmtpExtension
cancellationToken System.Threading.CancellationToken
return void
		void MailFrom (MimeMessage message, MailboxAddress mailbox, SmtpExtension extensions, CancellationToken cancellationToken)
		{
			var utf8 = (extensions & SmtpExtension.UTF8) != 0 ? " SMTPUTF8" : string.Empty;
			var command = string.Format ("MAIL FROM:<{0}>{1}", mailbox.Address, utf8);

			if ((extensions & SmtpExtension.BinaryMime) != 0)
				command += " BODY=BINARYMIME";
			else if ((extensions & SmtpExtension.EightBitMime) != 0)
				command += " BODY=8BITMIME";

			if ((capabilities & SmtpCapabilities.Dsn) != 0) {
				var envid = GetEnvelopeId (message);

				if (!string.IsNullOrEmpty (envid))
					command += " ENVID=" + envid;

				// TODO: RET parameter?
			}

			if ((capabilities & SmtpCapabilities.Pipelining) != 0) {
				QueueCommand (SmtpCommand.MailFrom, command, cancellationToken);
				return;
			}

			var response = SendCommand (command, cancellationToken);

			ProcessMailFromResponse (message, mailbox, response);
		}