Example #1
0
        // Send message

        public async Task SendMessageAsync(MailMessageDto message)
        {
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            // Create formatted message copy
            var newMessage = new MailMessageDto {
                Bcc           = message.Bcc,
                BodyHtml      = this.GetFormattedString(this.BodyHtmlFormat, message.BodyHtml),
                BodyText      = this.GetFormattedString(this.BodyTextFormat, message.BodyText),
                Cc            = message.Cc,
                CustomHeaders = message.CustomHeaders,
                From          = message.From ?? this.DefaultFrom,
                ReplyTo       = message.ReplyTo,
                Sender        = message.Sender ?? this.DefaultSender,
                Subject       = this.GetFormattedString(this.SubjectFormat, message.Subject),
                To            = message.To,
                Attachments   = message.Attachments
            };

            // Defer to actual implementation to really send message
            await this.SendMessageAsyncInternal(newMessage);
        }
Example #2
0
 protected abstract Task SendMessageAsyncInternal(MailMessageDto message);