예제 #1
0
        public EmailSendingResult SendEmail(EmailArguments emailArguments)
        {
            var sendResult = new EmailSendingResult();
            sendResult.EmailSendingFailureMessage = string.Empty;
            try
            {
                var mailMessage = new MailMessage(emailArguments.From, emailArguments.To);
                mailMessage.Subject = emailArguments.Subject;
                mailMessage.Body = emailArguments.Message;
                mailMessage.IsBodyHtml = emailArguments.Html;
                var client = new SmtpClient(emailArguments.SmtpServer);

                if (emailArguments.EmbeddedResources != null && emailArguments.EmbeddedResources.Count > 0)
                {
                    AlternateView avHtml = AlternateView.CreateAlternateViewFromString(emailArguments.Message, Encoding.UTF8, MediaTypeNames.Text.Html);
                    foreach (EmbeddedEmailResource resource in emailArguments.EmbeddedResources)
                    {
                        LinkedResource linkedResource = new LinkedResource(resource.ResourceStream, resource.ResourceType.ToSystemNetResourceType());
                        linkedResource.ContentId = resource.EmbeddedResourceContentId;
                        avHtml.LinkedResources.Add(linkedResource);
                    }
                    mailMessage.AlternateViews.Add(avHtml);
                }

                client.Send(mailMessage);
                sendResult.EmailSentSuccessfully = true;
            }
            catch (Exception ex)
            {
                sendResult.EmailSendingFailureMessage = ex.Message;
            }

            return sendResult;
        }
예제 #2
0
        public EmailSendingResult SendEmail(EmailArguments emailArguments)
        {
            var sendResult = new EmailSendingResult();

            sendResult.EmailSendingFailureMessage = string.Empty;
            try
            {
                var mailMessage = new MailMessage(emailArguments.From, emailArguments.To);
                mailMessage.Subject    = emailArguments.Subject;
                mailMessage.Body       = emailArguments.Message;
                mailMessage.IsBodyHtml = emailArguments.Html;
                var client = new SmtpClient(emailArguments.SmtpServer);

                if (emailArguments.EmbeddedResources != null && emailArguments.EmbeddedResources.Count > 0)
                {
                    AlternateView avHtml = AlternateView.CreateAlternateViewFromString(emailArguments.Message, Encoding.UTF8, MediaTypeNames.Text.Html);
                    foreach (EmbeddedEmailResource resource in emailArguments.EmbeddedResources)
                    {
                        LinkedResource linkedResource = new LinkedResource(resource.ResourceStream, resource.ResourceType.ToSystemNetResourceType());
                        linkedResource.ContentId = resource.EmbeddedResourceContentId;
                        avHtml.LinkedResources.Add(linkedResource);
                    }
                    mailMessage.AlternateViews.Add(avHtml);
                }

                client.Send(mailMessage);
                sendResult.EmailSentSuccessfully = true;
            }
            catch (Exception ex)
            {
                sendResult.EmailSendingFailureMessage = ex.Message;
            }

            return(sendResult);
        }