Пример #1
0
        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);
            }
        }
Пример #2
0
 /// <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;
         }
     }
 }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }