コード例 #1
0
        // Preferred method to send email.  Modify interface for new features...
        public SendEmailResponse <INotification> SendSmtpMail(IEmailMessage emailMessage)
        {
            SendEmailResponse <INotification> result = new SendEmailResponse <INotification>();

            try
            {
                using (MailMessage mailMessage = emailMessage.ToMailMessage())
                    using (SmtpClient smtp = new SmtpClient())
                    {
                        smtp.Send(mailMessage);
                    }
            }
            catch (SmtpException smtpException)
            {
                result.Value = new Notification(smtpException);
            }
            catch (InvalidOperationException invalidOperationException)
            {
                result.Value = new Notification(invalidOperationException);
            }
            catch (ArgumentException argumentExceptionException)
            {
                result.Value = new Notification(argumentExceptionException);
            }
            return(result);
        }
コード例 #2
0
        /// <summary>
        /// Sends an email asynchronously.
        /// </summary>
        /// <param name="emailMessage">The email message.</param>
        /// <param name="cancellationToken">The cancellation token.</param>
        /// <returns>
        /// A Task.
        /// </returns>
        public Task SendAsync(IEmailMessage emailMessage, CancellationToken cancellationToken = default(CancellationToken))
        {
            var smtpClient = this.CreateSmtpClient();

            return smtpClient.SendMailAsync(emailMessage.ToMailMessage());
        }