我的发送邮件未在收件箱中找到

时间:2010-12-27 17:17:20

标签: asp.net

我想以asp.net形式发送邮件,这是我的编码

protected void Button1_Click(object sender, EventArgs e)
{
  SmtpClient smtp = new SmtpClient("192.168.1.2",Convert.ToInt32 (25));
  System.Net.NetworkCredential cre = new System.Net.NetworkCredential();
  smtp.Credentials = cre;
  MailMessage message = new MailMessage();
  message.To.Add(new MailAddress("uamrit@gmail.com"));
  message.IsBodyHtml = true;
  message.Body = "<html><head><body><p> this is Demo for sending mail. </p></body></head></html>";
  message.Subject=("response from the web sitre");
  message.From = new MailAddress("uamrit@gmail.com");

  try
  {
    smtp.EnableSsl = false;
    smtp.UseDefaultCredentials = true;
    smtp.Send(message);
    Response.Write("Your Email has been sent sucessfully -");
  }
  catch (Exception exc)
  {
    Response.Write("Send failure: " + exc.ToString());
  }
}
web.config中的

<system.net>
 <mailSettings>
  <smtp from="uamrit@gmail.com">
   <network host="192.168.1.299" port="25" userName="uamrit" password="*****"/>
  </smtp>
 </mailSettings>
</system.net>

此节目邮件发送成功,但当我们检查我的Gmail帐户时,没有一封邮件告诉我为什么会这样。 什么程序发送邮件 请给我完整的编码

2 个答案:

答案 0 :(得分:1)

可能有多种原因。您是否检查过垃圾邮件收件箱?此外,我发现您假装通过其他服务器从GMAIL帐户发送电子邮件,我相信GMAIL不会喜欢它,并将您的电子邮件地址列入黑名单。

如果您打算使用GMAIL,那么为什么不使用GMAIL SMTP settings

答案 1 :(得分:0)

在您的配置中,您定义了用户名和密码 - 但是,在您的代码中,您指定了

smtp.UseDefaultCredentials = true;

您需要决定使用哪一个 - 默认凭据或配置中的用户名/密码?

我认为如果您在配置中定义了用户名/密码,则不希望通过指定UseDefaultCredentials = true...

来覆盖代码中的用户名/密码

如果这不能解决您的问题,我会尝试指定SMTP邮件转到您选择的目录,并查看是否真的创建了邮件(存储为该目录中的*.eml个文件)一点都不为此,请使用此配置:

<system.net>
 <mailSettings>
  <smtp from="uamrit@gmail.com" deliveryMethod="specifiedPickupDirectory">
     <specifiedPickupDirectory>C:\temp\mails</specifiedPickupDirectory>
  </smtp>
 </mailSettings>
</system.net>

您需要确保已定义的目录已存在!