有时我需要在我的网站上运行一些东西。例如,我现在想要从支持帐户向某人发送邮件。
为此,我计划创建临时网页,然后在page_load
事件中添加一些代码,然后删除网页:
protected void Page_Load(object sender, EventArgs e)
{
String notificationMessage = "Email body.";
Mailer.SendMail("targetemail@gmail.com", "Email header", notificationMessage);
}
这有点傻。但是,访问我在web.config中设置的内容非常方便,比如sql server和邮件模块。
有更好的方法吗?
答案 0 :(得分:1)
如果您使用System.Net.Mail.Mailmessage
类(http://www.systemnetmail.com/faq/2.1.aspx更多),您可以将IsBodyHtml设置为true,并直接向邮件提供HTML,而无需担心创建/删除网页页面...您无法通过电子邮件发布ASP.NET页面并期望与其进行交互。
你究竟想做什么?
答案 1 :(得分:1)
正如@Bazzz和@neontapir所述,我会使用Generic Handler文件,代码为:
public class Handler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
String notificationMessage = "Email body.";
Mailer.SendMail("targetemail@gmail.com", "Email header", notificationMessage);
}
}
这样你就不会渲染任何HTML,这会使这个过程更快,而你只有一个.ashx文件与.aspx和.aspx.cs相比
从长远来看,如果你发现自己这样做了一次,你应该考虑将它构建到应用程序中。