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

本文关键字:电子邮件 HTML ASP Net 使用 | 更新日期: 2023-09-27 18:30:13

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

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

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

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

提前谢谢。

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

就我个人而言,我会将表单POST转换为在ASP.NET中进行处理的HTTP handler(它们以.ashx结尾)。通过此处理程序,您可以读取表单中传递的字段,并通过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. 您可以修改表单的操作以指向.aspx页面,然后在该页面后面的代码中,您可以捕获请求并从那里发送电子邮件。(这类似于发送到HTTP处理程序)。http处理程序将为您提供比.aspx页面更高的性能。

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