2

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

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

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

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

提前致谢。

4

2 回答 2

5

就我个人而言,我会拥有在 ASP.NET 中进行处理的表单(它们以 .ashx 结尾)POST。从此处理程序中,您可以读取表单中传递的字段并通过您的方法HTTP handler发送电子邮件。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)
    {
        ...
    }

}

这是非常粗略的,但给了你更多的继续。

于 2013-09-04T15:13:45.097 回答
3

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

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

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

于 2013-09-04T15:15:45.427 回答