示例#1
0
        public void SmtpMailerUseAuthentication(string username, string password, bool shouldUseAuthentication)
        {
            var renderer = RazorRendererFactory.MakeInstance(new ConfigurationBuilder().Build());
            var mailer   = new SmtpMailer(renderer, "dummy", 1, username, password);

            Assert.Equal(mailer.UseSMTPAuthentication(), shouldUseAuthentication);
        }
        /// <summary>
        /// Register Coravel's mailer using the Custom Mailer.
        /// </summary>
        /// <param name="services"></param>
        /// <param name="sendMailAsync"></param>
        public static void AddCustomMailer(this IServiceCollection services, IConfiguration config, CustomMailer.SendAsyncFunc sendMailAsync)
        {
            var           globalFrom = GetGlobalFromRecipient(config);
            RazorRenderer renderer   = RazorRendererFactory.MakeInstance(config);
            var           mailer     = new CustomMailer(renderer, sendMailAsync, globalFrom);

            services.AddSingleton <IMailer>(mailer);
        }
示例#3
0
        /// <summary>
        /// Register Coravel's mailer using the File Log Mailer - which sends mail to a file.
        /// Useful for testing.
        /// </summary>
        /// <param name="services"></param>
        public static IServiceCollection AddFileLogMailer(this IServiceCollection services, IConfiguration config)
        {
            var           globalFrom = GetGlobalFromRecipient(config);
            RazorRenderer renderer   = RazorRendererFactory.MakeInstance(config);
            var           mailer     = new FileLogMailer(renderer, globalFrom);

            services.AddSingleton <IMailer>(mailer);
            return(services);
        }
示例#4
0
        public async Task SmtpMailerRenderSucessful()
        {
            var renderer = RazorRendererFactory.MakeInstance(new ConfigurationBuilder().Build());
            var mailer   = new SmtpMailer(renderer, "dummy", 1, "dummy", "dummy");

            string message = await mailer.RenderAsync(
                new GenericHtmlMailable()
                .Subject("test")
                .From("*****@*****.**")
                .To("*****@*****.**")
                .Html("<html></html>")
                );

            Assert.Equal("<html></html>", message);
        }
        /// <summary>
        /// Register Coravel's mailer using the Smtp Mailer.
        /// </summary>
        /// <param name="services"></param>
        /// <param name="config"></param>
        /// <param name="certCallback"></param>
        public static void AddSmtpMailer(this IServiceCollection services, IConfiguration config, RemoteCertificateValidationCallback certCallback)
        {
            var           globalFrom = GetGlobalFromRecipient(config);
            RazorRenderer renderer   = RazorRendererFactory.MakeInstance(config);
            IMailer       mailer     = new SmtpMailer(
                renderer,
                config.GetValue <string>("Coravel:Mail:Host", ""),
                config.GetValue <int>("Coravel:Mail:Port", 0),
                config.GetValue <string>("Coravel:Mail:Username", ""),
                config.GetValue <string>("Coravel:Mail:Password", ""),
                globalFrom,
                certCallback
                );

            services.AddSingleton <IMailer>(mailer);
        }
示例#6
0
        public async Task CustomMailer_Render()
        {
            async Task SendMailCustom(string message, string subject, IEnumerable <MailRecipient> to, MailRecipient from, MailRecipient replyTo, IEnumerable <MailRecipient> cc, IEnumerable <MailRecipient> bcc)
            {
                await Task.CompletedTask;
            };

            var renderer = RazorRendererFactory.MakeInstance(new ConfigurationBuilder().Build());

            var mailer = new CustomMailer(
                renderer,
                SendMailCustom
                );

            var htmlMessage = await mailer.RenderAsync(
                new GenericHtmlMailable()
                .Subject("test")
                .From("*****@*****.**")     // Shoudl be ignored due to global "from"
                .To("*****@*****.**")
                .Html("<html></html>")
                );

            Assert.Equal("<html></html>", htmlMessage);
        }