Example #1
0
 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);
     }
 }
Example #2
0
        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;
            }
        }
Example #3
0
 protected virtual void AddHeader(MailMessage message, Mail mail)
 {
 }
Example #4
0
 public void SendAsync(Mail m)
 {
     Send(m, true);
 }
Example #5
0
 public void Send(Mail m)
 {
     Send(m, false);
 }
Example #6
0
 protected void FireEvent(Mail m, Exception e = null)
 {
     MailingEngine.EventHooksInternal.FileMailSent(m, e, this);
 }