我在Asp.net上的Web应用程序Web表单中实现了此代码 http://azuresolutionz.com/ContactUs.html请查看链接以了解详细问题。
当我点击发送按钮时,我没有收到收件箱中的表单详细信息。 并且js也不起作用。
答案 0 :(得分:0)
啊,我看,你在这里以非常奇怪的方式实施了邮件。
首先非常重要 - 我在您的控制台中看到错误消息“$ is not defined”。但是我在Resource文件夹中看到了jquery文件,这只表示你以错误的顺序调用了jquery-2.1.4.min.js
。
首先需要在所有其他js文件(如bootstrap.min.js和ContactUs.js )之前调用jquery-2.1.4.min.js
文件。进行此更改后,您可以尝试一下。这应该删除你的大多数js错误。
现在,您可以查看我提供的其他信息,以便更好地了解您的邮件系统的运作方式。
您没有使用任何服务器端技术,而是直接从字段中获取值并单击发送按钮,您正在检索所有表单输入数据并使用mail:to
。
mail:to
在用户的默认邮件客户端上打开邮件(包含数据)以发送邮件。
因此,只需预期(点击“发送”按钮后),即可在Outlook(Windows)或邮件(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();
}
}
}