public void SendEmailAsync(string from, string to, string subject, string message, string smtpHost, int smtpPort, bool enableSSL, string username, string password, object cookie) { SmtpClient smtpClient = new SmtpClient(smtpHost, smtpPort); smtpClient.SendCompleted += new SendCompletedEventHandler(smtpClient_SendCompleted); if (username.Length > 0 || password.Length > 0) { smtpClient.Credentials = new System.Net.NetworkCredential(username, password); } smtpClient.EnableSsl = enableSSL; System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage(); mailMessage.To.Add(to); mailMessage.From = new System.Net.Mail.MailAddress(from); mailMessage.Subject = subject; mailMessage.Body = message; EmailCookieData cookieData = new EmailCookieData(); cookieData.Cookie = cookie; cookieData.Message = mailMessage; smtpClient.SendAsync(mailMessage, cookieData); }
void smtpClient_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e) { EmailCookieData cookieData = e.UserState as EmailCookieData; if (cookieData != null && SendCompleted != null) { SendCompleted(this, new EmailSendCompleteEventArgs(e, cookieData.Message, cookieData.Cookie)); } }
public void SendEmailAsync(string from, string to, string subject, string message, string smtpHost, int smtpPort, bool enableSSL, string username, string password, string attachmentFile, string attachmentName, object cookie) { SmtpClient smtpClient = new SmtpClient(smtpHost, smtpPort); smtpClient.SendCompleted += new SendCompletedEventHandler(smtpClient_SendCompleted); if (username.Length > 0 || password.Length > 0) { smtpClient.Credentials = new System.Net.NetworkCredential(username, password); } smtpClient.EnableSsl = enableSSL; System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage(); mailMessage.To.Add(to); mailMessage.From = new System.Net.Mail.MailAddress(from); mailMessage.Subject = subject; mailMessage.Body = message; if (attachmentFile != null && attachmentFile.Length > 0 && File.Exists(attachmentFile)) { System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(attachmentFile); if (attachmentName != null && attachmentName.Length > 0) { attachment.Name = attachmentName; } else { attachment.Name = Path.GetFileName(attachmentFile); } mailMessage.Attachments.Add(attachment); } EmailCookieData cookieData = new EmailCookieData(); cookieData.Cookie = cookie; cookieData.Message = mailMessage; smtpClient.SendAsync(mailMessage, cookieData); }