我正在 ASP.NET 中创建联系我们网页,用户可以在其中输入他的所有详细信息。当他点击提交按钮时输入详细信息后;作为管理员,他应该收到他进入联系我们页面的所有详细信息,并且他;作为用户应该收到感谢或确认消息。我试图搜索和关注博客的数量,但所有这些博客都解释了如何发送电子邮件。
一旦他/她单击提交按钮,我就可以向用户发送电子邮件,但是我;作为管理员无法接收他在网页中输入的用户信息。
有人可以提供我的示例代码或指导我应该如何在 ASP.NET 和 C# 中完成这项任务。
提前致谢。
我就是这样做的。这也包括 ajaxControlToolkit,但您不需要它。但我会推荐必填字段验证器。我有 3 个文本框。第一个是他们的名字,第二个是他们的电子邮件,第三个是他们想要或需要什么的描述。
HTML
<article>
<p>
<asp:Label ID="lblYourName" runat="server" Text="Your Name: ">
</asp:Label><asp:TextBox ID="tbEmployeeName" runat="server" Width="151px" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvEmployeeName" runat="server" ForeColor="red" ErrorMessage="Email is Required!" ControlToValidate="tbEmployeeName"></asp:RequiredFieldValidator>
<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server"
TargetControlID="tbEmployeeName"
FilterType="Custom, UppercaseLetters, LowercaseLetters"
ValidChars=" "/>
</p>
<p>
<asp:Label ID="lblYourEmailAddress" runat="server" Text="Your E-mail: ">
</asp:Label><asp:TextBox ID="tbEmployeeEmail" runat="server" Width="150px" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvEmployeeEmail" runat="server" ForeColor="red" ErrorMessage="You're Email Address is Required!" ControlToValidate="tbEmployeeEmail"></asp:RequiredFieldValidator>
<ajaxToolkit:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server"
TargetControlID="tbEmployeeEmail"
FilterType="Custom, UppercaseLetters, LowercaseLetters, Numbers"
ValidChars=".@"/>
</p>
<p>
Explain why you would like to have an account.
</p>
<p>
<asp:TextBox ID="tbEmployeeRequest" runat="server" TextMode="MultiLine" Width="250px" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvEmployeeRequest" runat="server" ForeColor="red" ErrorMessage="Message is required!" ControlToValidate="tbEmployeeRequest"></asp:RequiredFieldValidator>
<ajaxToolkit:FilteredTextBoxExtender ID="FilteredTextBoxExtender2" runat="server"
TargetControlID="tbEmployeeRequest"
FilterType="Custom, UppercaseLetters, LowercaseLetters, Numbers"
ValidChars=". ;!?'" />
</p>
<p>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" Font-Size="Small" Height="33px" Width="72px" OnClick="btnSubmit_Click" CausesValidation="true"/>
代码背后
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (this.Page.IsValid)
{
MailMessage msg = new MailMessage();
HttpContext ctx = HttpContext.Current;
msg.To.Add(new MailAddress("toEmail@Email.com"));
msg.From = new MailAddress(tbEmployeeEmail.Text);
msg.Subject = tbEmployeeName.Text + " requests an account!";
msg.Priority = MailPriority.High;
msg.Body = tbEmployeeRequest.Text;
//CONFIGURE SMTP OBJECT
SmtpClient smtp = new SmtpClient("mail.yoursmtpclient.com");
//SEND EMAIL
smtp.Send(msg);
tbEmployeeEmail.Text = null;
tbEmployeeName.Text = null;
tbEmployeeRequest.Text = null;
lblMessage.Text = "Your request has been sent. Please wait 2-3 days for a response.";
}
}
如您所知,我使用标签告诉他们他们的回复需要几天时间。然后,您可以使用 jQuery Modal 弹出窗口来代替我使用的标签,上面写着谢谢您和您需要的任何其他信息。如果您不知道如何使用 jQuery,这是一个很好的开始方式。http://jqueryui.com/demos/。如果您想发回一封电子邮件,其中包含您想说的任何内容,您可以操作上面的代码来执行此操作。而不是 msg.To.Add(new MailAddress("toEmail@email.com") 你可以放 msg.To.Add(new MailAddress(tbEmployeeEmail.Text); 并将电子邮件发送给他们。我认为(作为最终用户)虽然检查我的电子邮件以查看我是否得到回复,但这会很烦人,我宁愿直接从页面上知道。我希望这会有所帮助!