【发布时间】:2014-03-15 16:43:35
【问题描述】:
我正在尝试使用 gmail 发送一个简单的联系我们表单,但在异常中我不断收到“发送邮件失败”。在过去的两天里,我一直在拔头发,试图解决这个问题,但没有任何结果。这是我的cs代码:
protected void Button1_Click(object sender, EventArgs e)
{
try
{
requestSend.Visible = false;
confirmation.Visible = true;
MailMessage msg = new MailMessage();
msg.From = new MailAddress(YourEmail.Text);
msg.To.Add("MyGmail@gmail.com");
msg.Subject = "Contact from: " + " " +YourName.Text;
msg.Body = "Name: " + YourName.Text + "<br/>Email: " + YourEmail.Text + "<br/>Phone: " + YourPhone.Text + "<br/>Comments: " + Comments.Text;
msg.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential("MyGmail@gmail.com", "MyPassword");
smtp.Send(msg);
}
catch (Exception ex)
{
ResultLabel.Text = ex.Message;
}
}
这是我的 .aspx 代码:
<asp:Panel ID="Panel1" runat="server" DefaultButton="btnSubmit">
<h3>To Request Information or get a Free Estimate:</h3>
<p>
<b>Fields marked with <span class="red">*</span> are mandatory</b>
</p>
<p>
<span class="red">*</span>Your name:
<asp:RequiredFieldValidator ID="RequiredFieldValidator11" runat="server" ErrorMessage="*"
ControlToValidate="YourName" ValidationGroup="save" /><br />
<asp:TextBox ID="YourName" runat="server" Width="250px" /><br /><br />
<span class="red">*</span>Your email address:
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="*"
ControlToValidate="YourEmail" ValidationGroup="save" /><br />
<asp:TextBox ID="YourEmail" runat="server" Width="250px" /><br />
<span class="red"><asp:RegularExpressionValidator runat="server" ID="RegularExpressionValidator23" SetFocusOnError="true" Text="Please correct(Example: username@gmail.com)" ControlToValidate="YourEmail" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Display="Dynamic" ValidationGroup="save" /></span><br />
<span class="red">*</span>Your Phone:
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="*"
ControlToValidate="YourPhone" ValidationGroup="save" /><br />
<asp:TextBox ID="YourPhone" runat="server" Width="400px" /><br />
<span class="red"><asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" Display="Dynamic" ErrorMessage="Enter valid Phone number" ControlToValidate="YourPhone" ValidationExpression="^[01]?[- .]?(\([2-9]\d{2}\)|[2-9]\d{2})[- .]?\d{3}[- .]?\d{4}$" ></asp:RegularExpressionValidator></span><br />
<span class="red">*</span>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>
</div>
<div runat="server" id="confirmation" style="margin-left: auto; margin-right: auto; width: 65%;">
<h2>Your information has been sent</h2>
<asp:Label ID="ResultLabel" runat="server"></asp:Label>
</div>
我做错了什么(仅供参考,如果这很重要,我正在使用 ixwebhosting.com 托管,我没有运行自己的服务器)?任何帮助将不胜感激!
【问题讨论】:
-
查看您的托管服务提供商是否不阻止某些端口/协议。他不应该,但可能。