【发布时间】:2015-03-09 06:36:38
【问题描述】:
我创建了一个联系表单,用户可以输入他/她的姓名和他们的电子邮件地址,一切正常,除了我在单击提交按钮时在某个点收到错误,下面我突出显示了哪里那个错误是。当然,出于安全考虑,我已经取出了我的密码。
using System;
using System.Net.Mail;
namespace WhiteLabelConProject
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
try
{
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress("martinhall1390@gmail.com");
mailMessage.To.Add("martinhall1390@gmail.com");
mailMessage.Body = "<b>SenderName : </b>" + txtName.Text + "<br/>"
+ "<b>Sender Email : </b>" + txtEmail.Text + "<br/>";
mailMessage.IsBodyHtml = true;
SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);
smtpClient.EnableSsl = true;
smtpClient.Credentials = new System.Net.NetworkCredential("martinhall1390@gmail.com","");
**smtpClient.Send(mailMessage); <<<<<<<< ERROR WITH THIS BIT OF CODE**
Label1.ForeColor = System.Drawing.Color.Blue;
Label1.Text = "Thank you for registering";
txtName.Enabled = false;
txtEmail.Enabled = false;
}
catch(Exception ex)
{
//Log - Event Viewer or table
Label1.ForeColor = System.Drawing.Color.Blue;
Label1.ForeColor = System.Drawing.Color.Red;
Label1.Text = "There is an unknown problem. Please try later";
}
【问题讨论】:
-
您遇到什么错误?您正在捕获所有异常并删除它们,从而使特定问题难以调试。
-
对不起,基本上页面加载了很长时间,我收到的错误是“System.Net.Mail.SmtpException:操作已超时。”并且上面突出显示的“smtpClient.Send(mailMessage);”以红色显示。
-
可能想为您的客户端尝试端口 465(而不是 587):support.google.com/a/answer/176600?hl=en。这也可能是防火墙问题。
-
尝试将其更改为 465,它做同样的事情,你说的防火墙问题是什么,这很烦人,因为它几乎可以工作:(
标签: c# validation email smtp contact-form