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."); } }
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; }
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); */ }
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); }
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; }
public void MarkMailForSending(StoredMailMessage message) { FileInfo file = new FileInfo(mailFolder.FullName+"\\"+message.filename+".ready"); file.MoveTo(mailFolder.FullName + "\\" + message.filename + ".sending"); }
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"); } }
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"); } }
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"); } }