我正在ASP.NET中创建“联系我们”网页,用户可以在其中输入所有详细信息。输入详细信息后,他点击提交按钮I;作为管理员应该收到他进入联系我们页面的所有细节和他;因为用户应该收到感谢或确认消息。我试图搜索并关注博客数量,但所有这些博客都解释了如何发送电子邮件。
我可以在用户点击提交按钮后向用户发送电子邮件,但是我;作为管理员无法接收他输入网页的用户信息。
有人可以提供示例代码或指导我如何在ASP.NET和C#中完成此任务。
提前致谢。
答案 0 :(得分:0)
我就是这样做的。这也包括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模态弹出窗口来表示感谢你以及你需要的任何其他信息。如果您不知道如何使用jQuery,这是一个很好的开始。 http://jqueryui.com/demos/。如果您想发回一封电子邮件,说明您要说的任何内容,您可以操纵上面的代码来执行此操作。您可以将msg.To.Add(新邮件地址(tbEmployeeEmail.Text))放入msg.To.Add(新邮件地址(“toEmail@email.com”);并将电子邮件发送给他们。我认为(作为最终用户)虽然要查看我的电子邮件,看看我是否得到了回复,但这很烦人,我宁愿直接从页面上知道。我希望这有帮助!