我有一个反馈表,其中包含详细的字段,例如 1. 姓名、2. 电子邮件、3. 职业、4. 国家、5. 评论,我希望当任何客人提供他/她的反馈...这些详细信息应该在提交事件时通过我的电子邮件 ID 发送给我。
请在asp.net C#中为我提供一些建议和代码
我有一个反馈表,其中包含详细的字段,例如 1. 姓名、2. 电子邮件、3. 职业、4. 国家、5. 评论,我希望当任何客人提供他/她的反馈...这些详细信息应该在提交事件时通过我的电子邮件 ID 发送给我。
请在asp.net C#中为我提供一些建议和代码
因此,假设在您的 ASP.NET 表单上,您有如下内容:
<asp:TextBox ID="txtName" runat="server" />
<asp:TextBox ID="txtEmail" runat="server" />
..
<asp:Button runat="server" ID="btnSendFeedback" OnClick="btnClick" Text="Send Feedback"/>
然后在代码隐藏中,处理反馈按钮单击:
protected void btnClick(object sender, EventArgs e)
{
MailMessage message = new MailMessage();
message.From = new MailAddress(txtEmail.Text);
// this should be replaced with your address
message.To.Add(new MailAddress("youremailaddress@foo.bar.com"));
message.Subject = "feedback";
// this is the email content, eg comments, profession, country, etc
message.Body = "Name: " + txtName.Text; // add more fields...
// finaly send the email:
SmtpClient client = new SmtpClient();
client.Send(message);
}
还要确保你设置了 web.config,像这样(或类似的东西)
<system.net>
<mailSettings>
<smtp from="test@foo.com">
<network host="yousmtpserver" port="25" userName="username" password="password" defaultCredentials="true" />
</smtp>
</mailSettings>
</system.net>
有关更多信息,请查看以下内容:
您已经设置了表单控件,您只需构建电子邮件正文和主题,然后将其发送给您。
更新
就像是:
<asp:TextBox ID="txtName" runat="server" />
<asp:TextBox ID="txtEmail" runat="server" />
<asp:TextBox ID="txtComments" multiline="true" runat="server" />
然后在您的表单提交回发方法上,像这样构建电子邮件正文:
StringBuilder sb = new StringBuilder();
sb.AppendLine("You have an email from " + txtName.Text);
sb.AppendLine("Their email is: " + txtEmail.Text);
sb.AppendLine("Comments: " + txtComments.Text);
然后将 设置sb.ToString()
为您的电子邮件正文。
这是一个示例,可以引导您完成其中的一些过程 - http://www.daniweb.com/web-development/aspnet/threads/68369