我在 VisualStudio2012 ASP.Net空网站模板中使用 HTML网页开发了一个网站。在我的网站上,我正在寻找联系我们页面,该页面将发送电子邮件。是否可以使用ASP.Net从 .HTML PAGE 发送电子邮件?
我知道从.ASPX页面发送电子邮件,其中可能包含使用ASP.Net的ASP控件或HTML控件。
我正在寻找,仅从.HTML页面发送电子邮件。
更具体地说,我有一个sendemail()方法,我需要从 .HTMl页面传递电子邮件地址和电子邮件内容。怎么可以实现?
提前致谢。
答案 0 :(得分:5)
就个人而言,我会将POST
形式设置为HTTP handler
(它们以.ashx结尾),它在ASP.NET中进行处理。通过此处理程序,您可以从表单中读取传递的字段,并通过SendEmail()
方法发送电子邮件。
例如,在您的HTML中:
<form action="email.ashx" method="POST">
<input type="text" name="email" />
<input type="text" name="content" />
<button type="submit">Submit</button>
</form>
然后是一个HTTP处理程序:
public class EmailHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string email = context.Request.Form["email"];
string content = context.Request.Form["content"];
SendEmail(email,content);
}
private void SendEmail(string address, string content)
{
...
}
}
这非常粗糙,但还会给你一些继续。
答案 1 :(得分:3)
有几种不同的方法可以做到这一点:
您可以修改表单的操作以指向.aspx页面,然后在该页面后面的代码中,您可以捕获请求并从那里发送电子邮件。 (这与发送到HTTP处理程序类似)。 http处理程序将为您提供比.aspx页面更高的性能。
您可以在提交表单时执行ajax调用,然后将表单数据传递给Web方法,然后发送电子邮件。这将要求您创建一个从javascript调用的.asmx服务。