电子邮件发送总是失败,我的联系我们代码有什么问题

时间:2016-10-21 06:55:40

标签: c# asp.net email smtp

我目前正在使用“联系我们”页面,我有这种方法:

private bool SendEmail()
{

    string subject = SubjectTextBox.Text;
    const string goingTo = "dummie@gmail.com";
    const string smtpUser = "dummie@gmail.com";
    const string smtpPassword = "dummypass";


    SmtpClient smtp = new SmtpClient("smtp.gmail.com");
    smtp.Port = 587;
    smtp.UseDefaultCredentials = true;
    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
    smtp.EnableSsl = true;


    MailMessage mail = new MailMessage();

    mail.To.Add(goingTo);
    mail.From = new MailAddress(smtpUser);
    mail.Subject = subject;
    mail.IsBodyHtml = true;

    string collectBody = string.Format("From: {0}<br/>Email: {1}<br/>Contact: {2}<br/><br/><br/><br/>{3}",
                                        NameTextBox.Text, EmailTextBox.Text, ContactTextBox.Text, InquiryTextBox.Text);

    mail.Body = collectBody;
    mail.CC.Add("dummiesekend@gmail.com");

    smtp.Host = "smtp.gmail.com";

    smtp.Credentials = new NetworkCredential(smtpUser, smtpPassword);

    try
    {
        smtp.Send(mail);
    }
    catch (Exception)
    {

        return false;
    }

    return true;
}

在我的个人笔记本电脑中,这有效,但在我的工作场所的笔记本电脑中,它并没有。我尝试了几乎所有给定的代码,但总是失败。

3 个答案:

答案 0 :(得分:1)

请关闭防火墙或禁用防病毒软件?如果它有效,那么您的防火墙或防病毒软件会阻止某些内容。可能您的工作场所IP已被阻止发送邮件。

答案 1 :(得分:1)

使用:smtp.UseDefaultCredentials = true;

删除冗余代码:

smtp.UseDefaultCredentials = false;
smtp.EnableSsl = false;

将该代码设置为false:

POST http://localhost:9200/<index>/<indextype>/_search
{
  "query": {
    "filtered": {
      "filter": {
        "term": {
          "description": ""
        }
      }
    }
  }
}

检查你的工作区笔记本电脑是否安装了TelnetClient。在程序和功能中打开或关闭Windows功能..

答案 2 :(得分:0)

Raju Mali是对的:检查你的防火墙&amp;防病毒配置。如果它在本地运行正常,请联系您当地网络的管理员:可能任何交换机/网关/路由器阻止了所需的端口/地址。