public async Task SendLocalEmail() { var filename = Path.Combine(Path.GetTempPath(), EmailFile); if (File.Exists(filename)) { File.Delete(filename); } Assert.IsFalse(File.Exists(filename)); var client = new SmtpClient(LocalHost, 1030) { Credentials = new System.Net.NetworkCredential("mail", "pass") }; var session = new SmtpSessionState { SenderAddress = SenderEmail }; session.Recipients.Add(RecipientEmail); session.DataBuffer.AddRange(System.Text.Encoding.ASCII.GetBytes("HH\r\n")); await client.SendMailAsync(session); await Task.Delay(100); Assert.IsTrue(File.Exists(filename)); var smtpMock = Json.Deserialize <SmtpMock>(File.ReadAllText(filename)); Assert.IsNotNull(smtpMock); Assert.AreEqual(SenderEmail, smtpMock.Envelope.MailFrom.Address); Assert.AreEqual(RecipientEmail, smtpMock.Envelope.RcptTo.First().Address); }
public async Task CancelSendEmail() { var filename = Path.Combine(Path.GetTempPath(), EmailFile); if (File.Exists(filename)) { File.Delete(filename); } Assert.IsFalse(File.Exists(filename)); var cts = new CancellationTokenSource(); var email = new SmtpClient(LocalHost, 1030); var session = new SmtpSessionState { SenderAddress = SenderEmail }; session.Recipients.Add(RecipientEmail); session.DataBuffer.AddRange(new byte[] { 0x48, 0x48, 0x0A, 0x0C }); #pragma warning disable 4014 email.SendMailAsync(session, cancellationToken: cts.Token); #pragma warning restore 4014 cts.Cancel(); await Task.Delay(100); Assert.IsFalse(File.Exists(filename)); }
public async Task CancelSendEmail() { if (Environment.GetEnvironmentVariable("APPVEYOR") == "True") { Assert.Inconclusive("Can not test in AppVeyor"); } var filename = Path.Combine(Path.GetTempPath(), EmailFile); if (File.Exists(filename)) { File.Delete(filename); } Assert.IsFalse(File.Exists(filename)); var cts = new CancellationTokenSource(); var email = new SmtpClient("localhost", 1030); var session = new SmtpSessionState { SenderAddress = SenderEmail }; session.Recipients.Add(RecipientEmail); session.DataBuffer.AddRange(new byte[] { 0x48, 0x48, 0x0A, 0x0C }); #pragma warning disable 4014 email.SendMailAsync(session, ct: cts.Token); #pragma warning restore 4014 cts.Cancel(); await Task.Delay(100); Assert.IsFalse(File.Exists(filename)); }
public async Task SendLocalEmail() { var filename = Path.Combine(Path.GetTempPath(), EmailFile); if (File.Exists(filename)) { File.Delete(filename); } Assert.IsFalse(File.Exists(filename)); var email = new SmtpClient(LocalHost, 1030); var session = new SmtpSessionState { SenderAddress = SenderEmail }; session.Recipients.Add(RecipientEmail); session.DataBuffer.AddRange(new byte[] { 0x48, 0x48, 0x0A, 0x0C }); await email.SendMailAsync(session); await Task.Delay(100); Assert.IsTrue(File.Exists(filename)); var smtpMock = Json.Deserialize <SmtpMock>(File.ReadAllText(filename)); Assert.IsNotNull(smtpMock); Assert.AreEqual(SenderEmail, smtpMock.Envelope.From.Address); Assert.AreEqual(RecipientEmail, smtpMock.Envelope.To.First().Address); Assert.AreEqual("hh", smtpMock.Headers.First().Key); }
public void WithSmtpState_CloneProperly() { var sampleBuffer = System.Text.Encoding.UTF8.GetBytes("HOLA"); var source = new SmtpSessionState(); source.DataBuffer.AddRange(sampleBuffer); var target = source.DeepClone(); Assert.AreEqual(source.DataBuffer.Count, target.DataBuffer.Count); source.ResetEmail(); Assert.AreEqual(0, source.DataBuffer.Count); Assert.AreEqual(sampleBuffer.Length, target.DataBuffer.Count); }
public async Task SendLocalEmail() { if (Environment.GetEnvironmentVariable("APPVEYOR") == "True") { Assert.Inconclusive("Can not test in AppVeyor"); } var filename = Path.Combine(Path.GetTempPath(), EmailFile); if (File.Exists(filename)) { File.Delete(filename); } Assert.IsFalse(File.Exists(filename)); var email = new SmtpClient("localhost", 1030); var session = new SmtpSessionState { SenderAddress = SenderEmail }; session.Recipients.Add(RecipientEmail); session.DataBuffer.AddRange(new byte[] { 0x48, 0x48, 0x0A, 0x0C }); await email.SendMailAsync(session); await Task.Delay(100); Assert.IsTrue(File.Exists(filename)); var smtpMock = Json.Deserialize <SmtpMock>(File.ReadAllText(filename)); Assert.IsNotNull(smtpMock); Assert.AreEqual(SenderEmail, smtpMock.envelope.from.address); Assert.AreEqual(RecipientEmail, smtpMock.envelope.to.First().address); Assert.AreEqual("hh", smtpMock.headers.First().Key); }