使用ASP.Net从HTML发送电子邮件

时间:2013-09-04 15:05:46

标签: c# html asp.net email

我在 VisualStudio2012 ASP.Net空网站模板中使用 HTML网页开发了一个网站。在我的网站上,我正在寻找联系我们页面,该页面将发送电子邮件。是否可以使用ASP.Net从 .HTML PAGE 发送电子邮件?

我知道从.ASPX页面发送电子邮件,其中可能包含使用ASP.Net的ASP控件或HTML控件。

我正在寻找,仅从.HTML页面发送电子邮件。

更具体地说,我有一个sendemail()方法,我需要从 .HTMl页面传递电子邮件地址和电子邮件内容。怎么可以实现?

提前致谢。

2 个答案:

答案 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)

有几种不同的方法可以做到这一点:

  1. 您可以修改表单的操作以指向.aspx页面,然后在该页面后面的代码中,您可以捕获请求并从那里发送电子邮件。 (这与发送到HTTP处理程序类似)。 http处理程序将为您提供比.aspx页面更高的性能。

  2. 您可以在提交表单时执行ajax调用,然后将表单数据传递给Web方法,然后发送电子邮件。这将要求您创建一个从javascript调用的.asmx服务。