【问题标题】:Sending an Email with Gmail Smtp, but it doesnt send?使用 Gmail Smtp 发送电子邮件,但它不发送?
【发布时间】:2014-02-21 21:38:58
【问题描述】:

我正在尝试使用 gmail smtp 通过代码发送电子邮件,但是它不会发送给用户。发送的电子邮件确实位于“已发送电子邮件”文件夹中,格式正确。我尝试定期发送电子邮件,看看它是否可能是电子邮件地址,但一切都发送正常。我不确定为什么这不起作用...任何想法都会受到赞赏。

代码:

//this will build the email and send it 
        public void sendEmail()
        {
          var client = new SmtpClient("smtp.gmail.com", 587)
            {
                Credentials = new NetworkCredential(GlobalVars.strFromEmail, "pass"),
                EnableSsl = true
            };
            client.Send(GlobalVars.strFromEmail,GlobalVars.strEmailAddress, "test", "testbody");
            Console.WriteLine("Sent");
            Console.ReadLine();
        }  

已修复:没关系,只是发送需要很长时间(比如一个小时)...

【问题讨论】:

  • 也许您的发件人地址不是您自己的 gmail 地址,而 google 会阻止发送来自不同发件人的邮件以避免垃圾邮件?
  • 尝试创建第二个 gmail 电子邮件地址,将电子邮件发送到新帐户。如果在新帐户中收到电子邮件,那么有几件事可能会导致这种情况。首先是两个电子邮件提供商之间的滞后。第二个可能是您尝试发送到的电子邮件地址。第三个可能是预期的电子邮件服务提供商阻止了 Gmail(这并不罕见,因为防火墙会在发生垃圾邮件泛滥的情况下自动阻止提供商)。
  • 众所周知,像 McAfee 这样的防病毒程序会阻止电子邮件。这通常是端口 25,但之前我必须禁用 McAfee Enterprise onaccess 扫描程序才能使其正常工作。

标签: c# email


【解决方案1】:

你最好使用 try catch 块来查看列出了什么样的错误信息。

【讨论】:

  • 尝试 catch 对于阻止代码运行的问题很有用,但他的问题是 Gmail 没有按应有的方式转发电子邮件。
猜你喜欢
  • 2014-10-19
  • 2017-02-09
  • 2016-07-14
  • 2016-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多