protected void OnSent(MailMessageSentEventArgs e)
        {
            EventHandler <MailMessageSentEventArgs> temp = Sent;

            if (temp != null)
            {
                temp(this, e);
            }
        }
        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);
            }
        }
		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);
			}
		}
		protected void OnSent(MailMessageSentEventArgs e)
		{
			EventHandler<MailMessageSentEventArgs> temp = Sent;

			if (temp != null)
				temp(this, e);
		}