Aqueduct.Mail.MailMessage.Send C# (CSharp) Method

Send() public method

public Send ( SmtpServerInfo serverInfo ) : void
serverInfo SmtpServerInfo
return void
		public virtual void Send(SmtpServerInfo serverInfo)
		{
			System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage {IsBodyHtml = m_isHtml};

			// message.To.Add(string addresses) overload does not encode non ASCII chars
			// http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=338631
			// so have switched to using message.To.Add(MailAddress) overload instead
			foreach (EmailUser user in m_recipients)
			{
				message.To.Add(new MailAddress(user.Address, user.Name));
			}

			foreach (EmailUser user in m_ccList)
			{
				message.CC.Add(new MailAddress(user.Address, user.Name));
			}

			foreach (EmailUser user in m_bccList)
			{
				message.Bcc.Add(new MailAddress(user.Address, user.Name));
			}

			message.Subject = m_subject;
			message.Body = m_body;
			message.From = new MailAddress(SenderAsString);

			foreach (Attachment attachment in m_attachments)
			{
				message.Attachments.Add(ConvertAttachment(attachment));
			}

			SmtpClient client = new SmtpClient(serverInfo.SmtpHost, serverInfo.SmtpPort);
			if (serverInfo.UseAuthentication)
			{
				client.Credentials = null;
			}

			MailMessageSendingEventArgs mailMessageSendingEventArgs = new MailMessageSendingEventArgs(message, client);
			OnSending(mailMessageSendingEventArgs);

			if (!mailMessageSendingEventArgs.Cancel)
			{
				// action was not cancelled
				client.Send(message);

				MailMessageSentEventArgs mailMessageSentEventArgs = new MailMessageSentEventArgs(message);
				OnSent(mailMessageSentEventArgs);
			}
		}