private string GetFileNameFromSessionInfo(SmtpSessionInfo sessionInfo) { var fileName = sessionInfo.CreatedTimestamp.ToString("yyyy-MM-dd_HHmmss_fff") + ".eml"; var fullName = Path.Combine(_mailDir, fileName); return(fullName); }
public override SmtpResponse DataEnd(SmtpSessionInfo sessionInfo) { var fileName = GetFileNameFromSessionInfo(sessionInfo); var size = GetFileSize(fileName); Console.WriteLine("Mail received ({0} bytes): {1}", size, fileName); var successMessage = String.Format("{0} bytes received", size); var response = SmtpResponse.OK.CloneAndChange(successMessage); return(response); }
public override SmtpResponse DataLine(SmtpSessionInfo sessionInfo, byte[] lineBuf) { var fileName = GetFileNameFromSessionInfo(sessionInfo); Console.WriteLine("{0} <<< {1}", fileName, Encoding.UTF8.GetString(lineBuf)); using (var stream = File.OpenWrite(fileName)) { stream.Seek(0, SeekOrigin.End); stream.Write(lineBuf, 0, lineBuf.Length); stream.WriteByte(13); stream.WriteByte(10); } return(SmtpResponse.None); }
public SmtpResponse DataEnd(SmtpSessionInfo sessionInfo) { return(SmtpResponse.OK); }
public SmtpResponse DataLine(SmtpSessionInfo sessionInfo, byte[] lineBuf) { _mailData.AppendLine(Encoding.UTF8.GetString(lineBuf)); return(SmtpResponse.None); }
public SmtpResponse DataStart(SmtpSessionInfo sessionInfo) { return(SmtpResponse.DataStart); }
public override SmtpResponse DataStart(SmtpSessionInfo sessionInfo) { Console.WriteLine("Start receiving mail: {0}", GetFileNameFromSessionInfo(sessionInfo)); return(SmtpResponse.DataStart); }