联系表格ASP.net C# [英] Contact form ASP.net C#
问题描述
大家好,
我想在我的Web应用程序中放置一个联系人"表单,因此如果出现问题,他们可以联系IT服务台.我不能使用< form></form>使用主页面标记这些标签.
我在Code Project上发现了这个问题,但是我遇到的问题是它发送到了错误的地址...
我该如何解决并修复它?
在此先感谢
Hey Guys,
I want to place a Contact form in my web app, so if something is wrong, they can contact the IT Helpdesk. I can''t use <form></form> tags as I''m using a master page.
I found this on Code Project, but the problem I''m having is that it sends to the wrong address...
How do I get around that and fix it?
Thanks in advance
<asp:Panel ID="Panel1" runat="server" DefaultButton="btnSubmit">
<p>
Please Fill the Following to Send Mail.</p>
<p>
Your name:
<asp:RequiredFieldValidator ID="RequiredFieldValidator11" runat="server" ErrorMessage="*"
ControlToValidate="YourName" ValidationGroup="save" /><br />
<asp:TextBox ID="YourName" runat="server" Width="250px" /><br />
Your email address:
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="*"
ControlToValidate="YourEmail" ValidationGroup="save" /><br />
<asp:TextBox ID="YourEmail" runat="server" Width="250px" />
<asp:RegularExpressionValidator runat="server" ID="RegularExpressionValidator23"
SetFocusOnError="true" Text="Example: username@gmail.com" ControlToValidate="YourEmail"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Display="Dynamic"
ValidationGroup="save" /><br />
Subject:
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="*"
ControlToValidate="YourSubject" ValidationGroup="save" /><br />
<asp:TextBox ID="YourSubject" runat="server" Width="400px" /><br />
Your Question:
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="*"
ControlToValidate="Comments" ValidationGroup="save" /><br />
<asp:TextBox ID="Comments" runat="server"
TextMode="MultiLine" Rows="10" Width="400px" />
</p>
<p>
<asp:Button ID="btnSubmit" runat="server" Text="Send"
OnClick="Button1_Click" ValidationGroup="save" />
</p>
</asp:Panel>
<p>
<asp:Label ID="DisplayMessage" runat="server" Visible="false" />
</p>
代码C#背后:
Behind Code C#:
protected void Send()
{
// Gmail Address from where you send the mail
var fromAddress = "gmail@gmail.com";
// any address where the email will be sending
var toAddress = YourEmail.Text.ToString();
//Password of your gmail address
const string fromPassword = "password";
// Passing the values and make a email formate to display
string subject = YourSubject.Text.ToString();
string body = "From: " + YourName.Text + "\n";
body += "Email: " + YourEmail.Text + "\n";
body += "Subject: " + YourSubject.Text + "\n";
body += "Question: \n" + Comments.Text + "\n";
// smtp settings
var smtp = new System.Net.Mail.SmtpClient();
{
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
smtp.Timeout = 20000;
}
// Passing values to smtp object
smtp.Send(fromAddress, toAddress, subject, body);
}
protected void Button1_Click(object sender, EventArgs e)
{
try
{
//here on button click what will done
Send();
DisplayMessage.Text = "Your Comments after sending the mail";
DisplayMessage.Visible = true;
YourSubject.Text = "";
YourEmail.Text = "";
YourName.Text = "";
Comments.Text = "";
}
catch (Exception) { }
}
我会说这很简单,只是无法理解.当我在联系表单中输入我的电子邮件时,它也会发送该电子邮件……不应该.
谢谢!
I''d say it''s something simple, I just can''t get my head around it. When I enter my email in the contact form, it sends too that email... which it shouldn''t.
Thanks!
推荐答案
我想你应该在Send()方法中花点时间
I guess you should swith a little in your Send() method
// Gmail Address from where you send the mail
var fromAddress = "gmail@gmail.com";
// any address where the email will be sending
var toAddress = YourEmail.Text.ToString();
到
to
// Gmail Address from where you send the mail
var fromAddress = YourEmail.Text.ToString();
// any address where the email will be sending
var toAddress = "gmail@gmail.com";
这篇关于联系表格ASP.net C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!