/// <summary>
        ///     Gets the body for the message.
        /// </summary>
        /// <param name="builder">The builder.</param>
        /// <param name="message">The message.</param>
        /// <param name="settings">The settings.</param>
        /// <param name="logger">The logger.</param>
        /// <param name="token">The cancellation token.</param>
        /// <returns>System.Threading.Tasks.Task&lt;MimeKit.BodyBuilder&gt;.</returns>
        public static async Task <BodyBuilder> GetMkBody(
            this BodyBuilder builder,
            DeliveryItem message,
            MkSmtpMailerSettings settings,
            ILogger logger,
            CancellationToken token = default(CancellationToken))
        {
            ContentBody cbody;

            if (message?.Body is TemplateBody body)
            {
                cbody = await body.GetContentBodyFromFileTemplatesAsync(
                    message,
                    settings.TemplateSettings.TemplatePath,
                    settings.TemplateSettings.HtmlTemplateFileExtensions,
                    settings.TemplateSettings.TextTemplateFileExtension,
                    logger,
                    token);
            }
            else
            {
                cbody = message?.Body as ContentBody;
            }

            return(builder.GetMimeEntityForContentBody(message, cbody));
        }
예제 #2
0
 /// <summary>
 /// Adds the MailKit SMTP mailer system to dependency injection.
 /// </summary>
 /// <param name="services">The services.</param>
 /// <param name="mailerSettings">The settings.</param>
 /// <returns>IServiceCollection.</returns>
 /// <remarks>Will setup the mailer as the default</remarks>
 public static IServiceCollection AddMkSmtpMailer
 (
     this IServiceCollection services,
     MkSmtpMailerSettings mailerSettings
 )
 {
     return(services.AddMailer <MkSmtpMailer, MkSmtpMailerSettings>(mailerSettings));
 }