Search code examples
c#asp.net-mvc-4postalasp.net-mail

How to Set SMTP Client in POSTAL MVC not in WEB.Config


i have a problem when using POSTAL MVC in my Project. My hosting services company requires me to set smtp client config in code not in web config.

How to do that ?

I hope someone can give me a solution

Thank you.


Solution

  • I had the same problem. There is no reference on the official Postal documentation, nor an How-to. So here goes one:

    1. Create the SmtpClient instance with the custom configuration
    2. Create an Postal.EmailService instance using the constructor which takes 2 arguments (ViewEngineCollection, Func «SmtpClient»)
    3. Now you can send the email using the custom SmtpClient configuration by calling emailService.

    Here goes a complete sample code:

    dynamic email = new Email("Example");
    email.To = "[email protected]";
    email.FunnyLink = DB.GetRandomLolcatLink();
    
    SmtpClient client = new SmtpClient("mail.domain.com");
    client.UseDefaultCredentials = false;
    client.Credentials = new NetworkCredential("[email protected]", "somepassword");
    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    client.Port = 25;
    client.EnableSsl = false;
    
    Postal.EmailService emailService = new Postal.EmailService(new ViewEngineCollection(), () => client);
    
    emailService.Send(email);