public void SendAsyncTest() { SmtpMail target = SmtpMail.Instance; // TODO: 初始化为适当的值 string title = "测试"; // TODO: 初始化为适当的值 string body = "你好"; // TODO: 初始化为适当的值 string to = "*****@*****.**"; // TODO: 初始化为适当的值 target.SendAsync(title, body, to); Thread.Sleep(10000); }
public bool Send() { MailMessage Email = new MailMessage(); MailAddress MailFrom = new MailAddress(_MailFrom, _MailFrom); Email.From = MailFrom; foreach (string Receiptent in _MailToList) { Email.To.Add(Receiptent); } if (!string.IsNullOrEmpty(_MailToCcList)) { Email.CC.Add(_MailToCcList); } if (!string.IsNullOrEmpty(_MailToBccList)) { Email.Bcc.Add(_MailToBccList); } Email.Subject = _MailSubject; //Email.Body = GetMailBodyWithTemplate(_MailBody); Email.Body = _MailBody; Email.IsBodyHtml = _isHTML; Email.Priority = (MailPriority)_Priority; foreach (string attachment in _MailAttachments) { if (File.Exists(attachment)) { Attachment TempAttachment = new Attachment(attachment); Email.Attachments.Add(TempAttachment); } } // Smtp Client SmtpClient SmtpMail = null; if (UseDefaultCredentials) { SmtpMail = new SmtpClient(); SmtpMail.UseDefaultCredentials = true; } else { SmtpMail = new SmtpClient(_SMTPServer, _SMTPPort); //if (!string.IsNullOrEmpty(mSMTPUsername) && !string.IsNullOrEmpty(mSMTPPassword)) SmtpMail.Credentials = new NetworkCredential(_SMTPUsername, _SMTPPassword); } SmtpMail.EnableSsl = _mSMTPSSL; Boolean bResult = true; Exception exSend = null; try { ValidateMailSettings(); if (_SendAsync) { SmtpMail.SendAsync(Email, Email); } else { SmtpMail.Send(Email); } } catch (ArgumentNullException aex) { bResult = false; exSend = aex; } catch (SmtpFailedRecipientsException e) { for (int k = 0; k < e.InnerExceptions.Length; k++) { bResult = false; SmtpStatusCode StatusCode = e.InnerExceptions[k].StatusCode; if (StatusCode == SmtpStatusCode.MailboxUnavailable || StatusCode == SmtpStatusCode.MailboxBusy) { try { if (_TryAgianOnFailure) { Thread.Sleep(_TryAgainDelayTime); // send the message string sTemp = ""; if (_SendAsync) { SmtpMail.SendAsync(Email, sTemp); } else { SmtpMail.Send(Email); } // Message was sent. bResult = true; } } catch (Exception ex) { exSend = ex; bResult = false; } } } } catch (Exception ex) { bResult = false; exSend = ex; } return(bResult); }