/// <summary> /// Create a new SMTP response. /// </summary> /// <param name="StatusCode">The SMTP status code.</param> /// <param name="Response">The SMTP response text.</param> /// <param name="MoreDataAvailable">True, if more result lines are available.</param> public SMTPExtendedResponse(SMTPStatusCode StatusCode, String Response = "", Boolean MoreDataAvailable = false) : base(StatusCode, Response) { this._MoreDataAvailable = MoreDataAvailable; }
public SMTPResponse(SMTPStatusCode code, params string[] args) { if (args == null) { throw new ArgumentNullException(); } Code = code; Args = args; }
public static void WriteLineSMTP(this TCPConnection TCPConn, SMTPStatusCode StatusCode, params String[] Response) { var n = (UInt64) Response.Where(line => line.IsNotNullOrEmpty()).Count(); Response. Where(line => line.IsNotNullOrEmpty()). ForEachCounted((response, i) => { TCPConn.WriteLineToResponseStream(((Int32) StatusCode) + (i < n ? "-" : " ") + response); Debug.WriteLine(">> " + ((Int32) StatusCode) + (i < n ? "-" : " ") + response); }); TCPConn.Flush(); }
public static void WriteLineSMTP(this TCPConnection TCPConn, SMTPStatusCode StatusCode, params String[] Response) { var n = (UInt64)Response.Where(line => line.IsNotNullOrEmpty()).Count(); Response. Where(line => line.IsNotNullOrEmpty()). ForEachCounted((response, i) => { TCPConn.WriteLineToResponseStream(((Int32)StatusCode) + (i < n ? "-" : " ") + response); Debug.WriteLine(">> " + ((Int32)StatusCode) + (i < n ? "-" : " ") + response); }); TCPConn.Flush(); }
private void NotifyErrors(TCPConnection TCPConnection, DateTime Timestamp, String SMTPCommand, SMTPStatusCode SMTPStatusCode, EMail EMail = null, SMTPExtendedResponse Response = null, String Error = null, Exception LastException = null, Boolean CloseConnection = true) { var ErrorLogLocal = ErrorLog; if (ErrorLogLocal != null) { ErrorLogLocal(this, Timestamp, SMTPCommand, EMail, Response, Error, LastException); } }
public void TestToString(SMTPStatusCode code, string[] args, string expected) { var result = new SMTPResponse(code, args).ToString(); Assert.Equal(expected, result); }
/// <summary> /// Create a new SMTP response. /// </summary> /// <param name="StatusCode">The SMTP status code.</param> /// <param name="Response">The SMTP response text.</param> public SMTPResponse(SMTPStatusCode StatusCode, String Response = "") { this._StatusCode = StatusCode; this._Response = Response; }
public void TestDoExecuteError(bool enableTLS, bool isSecured, string parameters, SMTPStatusCode code) { using (ShimsContext.Create()) { Transaction.SettingsGet = () => new StubIReceiveSettings { EnableTLSGet = () => enableTLS }; Transaction.TLSActiveGet = () => isSecured; var started = false; Transaction.StartTLSCancelEventArgs = args => { started = true; }; var handler = new STARTTLSHandler(); var response = handler.DoExecute(Transaction, parameters); Assert.Equal(code, response.Code); Assert.False(started); } }