1

在 asp.net 中,我试图在电子邮件中发送模板,所以当用户从我的网站收到消息时,它将在模板中,

例如,当 FB 通过邮件向您发送通知时,它也有页眉和页脚,所以我想这样做,我试过但它没有在电子邮件正文中发送任何模板

代码:

MailDefinition mailDefinition = new MailDefinition();
                mailDefinition.BodyFileName = "emailBody.htm";
                mailDefinition.From = "hunain.hafeez@gmail.com";

                MailMessage message = new MailMessage();
                message.From = new MailAddress(user_email);
                message.To.Add(new MailAddress(email));
                message.Subject = "Registration";
                message.IsBodyHtml = true;

                message.Body = "Congrats" + " " + userName + " " + " You have been shortlisted for interview. Please appear on " + " " + date +", "+time+" "+ "for interview";

                SmtpClient objClient = new SmtpClient("smtp.gmail.com", 587);
                objClient.EnableSsl = true;


                objClient.Credentials = new System.Net.NetworkCredential("hunain.hafeez", "*******");
4

2 回答 2

1

简短回答:为了快速修复,请使用HTML 标记模板,但更灵活的解决方案是带有电子邮件模板的Razor 。

关于如何实现这一点有不同的方法。但是,我偶然发现了一篇关于如何将 Razor 与电子邮件模板一起使用的文章。Razor 是使用 ASP.NET MVC 3 推送的,但使用 Razor 不需要 MVC。这是做电子邮件模板的非常巧妙的处理

正如文章指出的那样,“Razor 的最佳之处在于,与它的前身(webforms)不同,它不与 web 环境绑定,我们可以轻松地将它托管在 web 之外并将其用作模板引擎用于各种目的。”

将 Razor 用于 ASP.NET MVC 之外的电子邮件模板

于 2013-01-08T19:05:04.970 回答
0

您的邮件正文需要包含 HTML 标记。

IE:

<html><body><b>Congrats ....
于 2013-01-08T18:48:30.357 回答