public virtual EhloSmtpResponse Ehlo(String localHostName) { EhloSmtpResponse ehloResponse = new EhloSmtpResponse(); ehloResponse.AddAvailableAuthType("login"); ehloResponse.Message = "OK"; ehloResponse.ResponseCode = 250; return(ehloResponse); }
public void TestFailedSmtpNegotiationWithAuth() { SmtpServer smtpserver = new SmtpServer("localhost"); smtpserver.SmtpAuthToken = new SmtpAuthToken("test", "test"); Base64Encoder encoder = Base64Encoder.GetInstance(); String base64Username = encoder.EncodeString(smtpserver.SmtpAuthToken.UserName, System.Text.Encoding.ASCII); String base64Password = encoder.EncodeString(smtpserver.SmtpAuthToken.Password, System.Text.Encoding.ASCII); EmailMessage emailMessage = GetTestHtmlAndTextMessage(); IMock mockSmtpProxy = new DynamicMock(typeof(ISmtpProxy)); mockSmtpProxy.ExpectAndReturn("Open", new SmtpResponse(220, "welcome to the mock object server"), null); EhloSmtpResponse ehloResponse = new EhloSmtpResponse(); ehloResponse.AddAvailableAuthType("login"); ehloResponse.Message = "OK"; ehloResponse.ResponseCode = 250; mockSmtpProxy.ExpectAndReturn("Ehlo", ehloResponse, Dns.GetHostName()); mockSmtpProxy.ExpectAndReturn("Auth", new SmtpResponse(554, "Unrecognized auth type"), "login"); ISmtpProxy smtpProxy = (ISmtpProxy)mockSmtpProxy.MockInstance; smtpserver.OverrideSmtpProxy(smtpProxy); /* * mockSmtpProxy.ExpectAndReturn("SendString", new SmtpResponse(554, "Invalid UserName"), base64Username); * mockSmtpProxy.ExpectAndReturn("SendString", new SmtpResponse(554, "Invalid Password"), base64Password); * mockSmtpProxy.ExpectAndReturn("MailFrom", new SmtpResponse(250, "mail from"), emailMessage.FromAddress); * foreach (EmailAddress rcpttoaddr in emailMessage.ToAddresses) * { * mockSmtpProxy.ExpectAndReturn("RcptTo", new SmtpResponse(250, "receipt to"), rcpttoaddr); * } * mockSmtpProxy.ExpectAndReturn("Data", new SmtpResponse(354, "data open"), null); * mockSmtpProxy.ExpectAndReturn("WriteData", new SmtpResponse(250, "data"), emailMessage.ToDataString()); * * mockSmtpProxy.ExpectAndReturn("Quit", new SmtpResponse(221, "quit"), null); * mockSmtpProxy.Expect("Close", null); */ try { emailMessage.Send(smtpserver); Assert.Fail("The auth type is wrong"); } catch (SmtpException ex) { log.Debug("ERROR CODE IS " + 554); Assert.AreEqual(554, ex.ErrorCode); } }
public void TestForcedLoginSmtpNegotiationWithAuth() { SmtpServer smtpserver = new SmtpServer("localhost"); smtpserver.SmtpAuthToken = new LoginAuthToken("test", "testtest"); Base64Encoder encoder = Base64Encoder.GetInstance(); String base64Username = encoder.EncodeString(smtpserver.SmtpAuthToken.UserName, System.Text.Encoding.ASCII); String base64Password = encoder.EncodeString(smtpserver.SmtpAuthToken.Password, System.Text.Encoding.ASCII); EmailMessage emailMessage = GetTestHtmlAndTextMessage(); IMock mockSmtpProxy = new DynamicMock(typeof(ISmtpProxy)); mockSmtpProxy.ExpectAndReturn("Open", new SmtpResponse(220, "welcome to the mock object server"), null); EhloSmtpResponse ehloResponse = new EhloSmtpResponse(); ehloResponse.AddAvailableAuthType("login"); ehloResponse.Message = "OK"; ehloResponse.ResponseCode = 250; mockSmtpProxy.ExpectAndReturn("Ehlo", ehloResponse, Dns.GetHostName()); mockSmtpProxy.ExpectAndReturn("Auth", new SmtpResponse(334, encoder.EncodeString("Username:"******"login"); mockSmtpProxy.ExpectAndReturn("SendString", new SmtpResponse(334, encoder.EncodeString("Password:"******"SendString", new SmtpResponse(235, "Hooray, Authenticated"), base64Password); mockSmtpProxy.ExpectAndReturn("MailFrom", new SmtpResponse(250, "mail from"), emailMessage.FromAddress); foreach (EmailAddress rcpttoaddr in emailMessage.ToAddresses) { mockSmtpProxy.ExpectAndReturn("RcptTo", new SmtpResponse(250, "receipt to"), rcpttoaddr); } mockSmtpProxy.ExpectAndReturn("Data", new SmtpResponse(354, "data open"), null); mockSmtpProxy.ExpectAndReturn("WriteData", new SmtpResponse(250, "data"), emailMessage.ToDataString()); mockSmtpProxy.ExpectAndReturn("Quit", new SmtpResponse(221, "quit"), null); mockSmtpProxy.Expect("Close", null); ISmtpProxy smtpProxy = (ISmtpProxy)mockSmtpProxy.MockInstance; smtpserver.OverrideSmtpProxy(smtpProxy); try { emailMessage.Send(smtpserver); } catch (SmtpException ex) { log.Debug("Exception was " + ex.Message); log.Debug(ex.StackTrace); throw ex; } }