因为我已经在我的 Web 应用程序 Web 表单中实现了此代码 Asp.net http://azuresolutionz.com/ContactUs.html 请查看链接以了解详细问题。
当我单击发送按钮时,我的收件箱中没有收到表单详细信息。而且 js 也不起作用。
啊,我明白了,你在这里以一种非常奇怪的方式实现了邮件。
首先非常重要 - 我在控制台中看到错误消息"$ 未定义"。但是我在资源文件夹中看到了jquery文件,这仅意味着您以错误的顺序调用了jquery-2.1.4.min.js
。
您首先需要先调用jquery-2.1.4.min.js
文件,然后再调用所有其他 js 文件,如 bootstrap.min.js 和您的 ContactUs.js。执行此更改后,可以尝试一下。这应该可以消除大部分 js 错误。
现在清除后,您可以查看我提供的其余信息,以更好地了解您的邮件系统的工作原理。
- 您
没有使用任何服务器端技术,但直接从字段中获取值并单击发送按钮,您正在检索所有表单输入数据并使用
mail:to
。mail:to
用户的默认邮件客户端上打开一封邮件(包含数据)以发送邮件。因此,只需期望(单击"发送"按钮后)数据填充到默认的电子邮件客户端(如Outlook(Windows)或Mail(MAC))上。
在您的电子邮件客户端上,您需要发送邮件,就像发送任何普通邮件一样发送和接收邮件。
或者,如果你不想mailto
,那么你必须使用任何使用PHP或Java或C#等的服务器端邮件程序实现。
根据@Shahzeb的要求更新:
创建 ContactUs.ascx 文件后,
首先,您需要将输入文本字段设为asp:TextBox
并为其添加ID
属性,因为这是我们在代码隐藏页面上获取相应字段值的方式。这看起来像
<asp:TextBox ID="txtFirstName" runat="server" />
对所有领域执行此操作。
然后将其添加到您的 ContactUs.ascx.cs 文件(这是 ContactUs.ascx 的代码隐藏页面)。
注意:它已添加using System.Net.Mail;
。
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net.Mail;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{
MailMessage message = new MailMessage(txtFirstName.Text, txtLastName.Text, txtEmail.Text, txtPhone.Text);
SmtpClient emailClient = new SmtpClient(txtSMTPServer.Text);
emailClient.Send(message);
litStatus.Text = "Message Sent";
}
catch (Exception ex)
{
litStatus.Text=ex.ToString();
}
}
}