private static void SendEmail(MainSettings mainSettings, string bodyFile, IEnumerable <string> attachments) { using (var client = new SmtpSocketClient()) { var message = new MimeMailMessage { From = new MimeMailAddress(mainSettings.Mail.From), IsBodyHtml = true, Body = File.ReadAllText(bodyFile), Subject = mainSettings.Mail.Subject }; var toAddresses = mainSettings.Mail.To.Select(x => new MimeMailAddress(x)); message.To.AddRange(toAddresses); var mailAttachments = attachments.Select(x => new MimeAttachment(x)); message.Attachments.AddRange(mailAttachments); client.Host = mainSettings.Mail.SmtpServer; client.Port = 465; client.User = mainSettings.Mail.SmtpLogin; client.Password = mainSettings.Mail.SmtpPass; client.SslType = SslMode.Ssl; client.AuthenticationMode = AuthenticationType.Base64; client.SendMail(message); } }
/// <summary> /// Send message to the server /// </summary> /// <param name="message">Email message that we want to send</param> /// <param name="onSendCallBack">The deligated function which will be called after sending message.</param> public void Send(AbstractMailMessage message, SendCompletedEventHandler onSendCallBack = null) { SendCompleted += onSendCallBack; SendMailAsync(message); // Connecting to the server and configuring it using (var client = new SmtpSocketClient()) { if (String.IsNullOrEmpty(User)) { AuthenticationMode = AuthenticationType.UseDefaultCredentials; } } }
public void Read_WithCommand_SetsLastCommand() { // Arrange var testCommand = "MAIL FROM:[email protected]"; var socketMock = new Mock <ISocketClient>(); socketMock.Setup(m => m.Read()) .Returns(testCommand); // Act var testClient = new SmtpSocketClient(socketMock.Object); testClient.Read(); // Assert Assert.IsNotNull(testClient.LastCommand); Assert.AreEqual(SmtpVerb.Mail, testClient.LastCommand.Verb); }
static void SendMail(SendMailConfig config, SendMailContext context) { var client = new SmtpSocketClient(config.Smtp, config.Port, config.From, config.Password); client.SslType = config.SslEnabled ? SslMode.Ssl : SslMode.Auto; var mail = new MimeMailMessage(); mail.From = new System.Net.Mail.MailAddress(context.DisplayName ?? config.From); mail.Sender = new System.Net.Mail.MailAddress(config.From); mail.To.Add(context.To); mail.IsBodyHtml = context.IsBodyHtml; mail.Subject = context.Subject; mail.Body = context.Body; mail.BodyEncoding = Encoding.UTF8; foreach (var attachment in context.Attachments) { mail.Attachments.Add(new MimeAttachment(attachment)); } client.SendMail(mail); }