public void FileMailSent(Mail mail, Exception error, IMailSender sender) { if (error != null) { var del = MailSendingError; if (del != null) del(mail, error, sender); } else { var del = MailSent; if (del != null) del(mail, sender); } }
private void Send(Mail message, bool async) { MailMessage ms = new MailMessage() { IsBodyHtml = message.Body.Contains("<html"), Body = message.Body, From = FromString(message.Header.From), Subject = message.Header.Subject, SubjectEncoding = Encoding.UTF8, HeadersEncoding = Encoding.UTF8, BodyEncoding = Encoding.UTF8, }; Populate(ms.To, message.Header.To); Populate(ms.CC, message.Header.Cc); Populate(ms.Bcc, message.Header.Bcc); AddHeader(ms, message); if (async) { _client.SendAsync(ms, message); return; } try { _client.Send(ms); FireEvent(message); } catch(Exception e) { FireEvent(message, e); throw; } }
protected virtual void AddHeader(MailMessage message, Mail mail) { }
public void SendAsync(Mail m) { Send(m, true); }
public void Send(Mail m) { Send(m, false); }
protected void FireEvent(Mail m, Exception e = null) { MailingEngine.EventHooksInternal.FileMailSent(m, e, this); }