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); }
/// <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); }
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); }
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); }