Beispiel #1
0
 public void MarkMailForSending(StoredMailMessage message)
 {
     long id = message.id;
     string MarkMail = "update "+tableName+" set "+sendingColumn+"=@Sending where "+idColumn+"=@Id and "+sendingColumn+" is null";
     DbParameter[] parameters = new DbParameter[] {
         new DbParameter("@Sending", SqlDbType.DateTime, DateTime.Now),
         new DbParameter("@Id", SqlDbType.BigInt, id)
     };
     int rowsUpdated = dbTemplate.Update(MarkMail, parameters);
     if (rowsUpdated != 1)
     {
         throw new Exception("Email " + id + " was already marked for sending. No retransmission.");
     }
 }
Beispiel #2
0
        private StoredMailMessage ReadMail(SqlDataReader reader)
        {
            long id = (long)reader["id"];
            string to = (string)reader["to"];
            string from = (string)reader["from"];

            StoredMailMessage message = new StoredMailMessage(id, from, to);
            message.Subject = (string)reader["subject"];
            message.Body = (string)reader["body"];
            return message;
        }
Beispiel #3
0
 public void MailIgnored(StoredMailMessage message)
 {
     throw new NotImplementedException("MailDao.MailIgnored() not implemented.");
     /*
     long id = message.id;
     string MailSent = "update " + tableName + " set " + failedColumn + "=@Failed where " + idColumn + "=@Id";
     DbParameter[] parameters = new DbParameter[] {
         new DbParameter("@Failed", SqlDbType.DateTime, DateTime.Now),
         new DbParameter("@Id", SqlDbType.BigInt, id)
     };
     dbTemplate.Update(MailSent, parameters);
      */
 }
Beispiel #4
0
 public void MailSent(StoredMailMessage message)
 {
     long id = message.id;
     string MailSent = "update " + tableName + " set " + sentColumn + "=@Sent where " + idColumn + "=@Id";
     DbParameter[] parameters = new DbParameter[] {
         new DbParameter("@Sent", SqlDbType.DateTime, DateTime.Now),
         new DbParameter("@Id", SqlDbType.BigInt, id)
     };
     dbTemplate.Update(MailSent, parameters);
 }
Beispiel #5
0
        private StoredMailMessage LoadMailFromFile(FileSystemInfo first)
        {
            // load mail
            FileInfo file = new FileInfo(first.FullName);
            string fileNameLoading = first.FullName + ".loading";
            file.MoveTo(fileNameLoading);

            Rebex.Mail.MailMessage rmessage = new Rebex.Mail.MailMessage();
            rmessage.Load(fileNameLoading);

            file.MoveTo(first.FullName + ".loaded");

            StoredMailMessage mm = new StoredMailMessage(first.Name);
            MailMessageConverter.ConvertTo(rmessage, mm);

            file.MoveTo(first.FullName + ".ready");
            return mm;
        }
Beispiel #6
0
 public void MarkMailForSending(StoredMailMessage message)
 {
     FileInfo file = new FileInfo(mailFolder.FullName+"\\"+message.filename+".ready");
     file.MoveTo(mailFolder.FullName + "\\" + message.filename + ".sending");
 }
Beispiel #7
0
        public void MailSent(StoredMailMessage message)
        {
            log.Debug("Sent mail " + message.filename + message.ReceiversToString());

            FileInfo file = new FileInfo(mailFolder.FullName + "\\" + message.filename + ".sending");
            if (sentMailFolder != null)
            {
                file.MoveTo(sentMailFolder.FullName + "\\" + message.filename);
            }
            else
            {
                file.MoveTo(mailFolder.FullName + "\\" + message.filename + ".sent");
            }
        }
Beispiel #8
0
        public void MailIgnored(StoredMailMessage message)
        {
            log.Info("Ignored mail " + message.filename + message.ReceiversToString());

            FileInfo file = new FileInfo(mailFolder.FullName + "\\" + message.filename + ".sending");
            if (ignoredMailFolder != null)
            {
                file.MoveTo(ignoredMailFolder.FullName + "\\" + message.filename);
            }
            else
            {
                file.MoveTo(mailFolder.FullName + "\\" + message.filename + ".ignored");
            }
        }
Beispiel #9
0
        public void MailFailed(StoredMailMessage message)
        {
            log.Error("Failed sending mail " + message.filename + message.ReceiversToString());

            FileInfo file = new FileInfo(mailFolder.FullName + "\\" + message.filename + ".sending");
            if (failedMailFolder != null)
            {
                file.MoveTo(failedMailFolder.FullName + "\\" + message.filename);
            }
            else
            {
                file.MoveTo(mailFolder.FullName + "\\" + message.filename + ".failed");
            }
        }