public void ThrowsOnInvalidOptions()
 {
     var unused = new TestMailKitSmtpMailService(new MailServiceOptions {
         SmtpServer = "127.0.0.1"
     },
                                                 new Mock <IMailTransport>().Object);
 }
        public void CanSendMailAsync()
        {
            var mailTransportMock = new Mock <IMailTransport>();
            var service           = new TestMailKitSmtpMailService(GetTestMailServiceOptions(), mailTransportMock.Object);

            service.SendEmailAsync(GlobalTestSettings.SmtpRecipientMail, GlobalTestSettings.MailSubject,
                                   GlobalTestSettings.MailContent, TextFormat.Plain, GlobalTestSettings.SmtpRecipientName).Wait();
            mailTransportMock.VerifySendMailAsync();
        }
        public void CanSendMailByModel()
        {
            var mailTransportMock = new Mock <IMailTransport>();
            var project           = new LocationExpandingFileRazorProject(new[] { new DefaultLocationExpander() }, null,
                                                                          ApplicationHelper.GetMailViewPath(), ".cshtml");
            var engine = new RazorLightEngineBuilder()
                         .UseProject(project)
                         .UseMemoryCachingProvider()
                         .Build();
            var mailService = new TestMailKitSmtpMailService(MailKitSmtpMailServiceTest.GetTestMailServiceOptions(),
                                                             mailTransportMock.Object);
            var templateService = new RazorLightTemplatingService(engine, new MailTemplateOptions(), null);
            var service         = new TemplatingMailService(mailService, templateService);

            var model = new Test();
            var body  = templateService.Parse(model);

            service.SendMail(model, GlobalTestSettings.SmtpRecipientMail, GlobalTestSettings.SmtpRecipientName);
            mailTransportMock.VerifySendMail(GlobalTestSettings.SmtpServer, GlobalTestSettings.SmtpPort,
                                             GlobalTestSettings.SmtpSenderName, GlobalTestSettings.SmtpSenderMail,
                                             GlobalTestSettings.SmtpRecipientName, GlobalTestSettings.SmtpRecipientMail,
                                             GlobalTestSettings.MailSubject, body);
        }
 public void ThrowsOnMissingOptions()
 {
     var unused = new TestMailKitSmtpMailService(null, new Mock <IMailTransport>().Object);
 }