无法在asp.net中使用SmtpClient发送电子邮件

时间:2014-09-29 05:10:09

标签: c# asp.net email smtpclient

如果增加超时属性,我无法在服务器中发送电子邮件。

//set the SMTP info
                SmtpClient smtp = new SmtpClient();
                smtp.Host = strServer;  //IP Mail Server
                smtp.Timeout = 70 * 60 * 1000;
                smtp.Port = Convert.ToInt16(Port); //Port
                smtp.Credentials = new System.Net.NetworkCredential(FromAddress, strPassword);       
                //send the email
                smtp.Send(Msg);

在我的应用程序中,我想发送' - 天邮件近1000人。所以我会发送电子邮件" To"那些过生日的人,并且把#b;"剩下的员工差不多1000.如果我没有添加bcc,那就完美了。如果我添加bcc(1000人)给出的错误就像"超时"。我加上将近1小时的时间来克服这个问题。我知道这不是一个好习惯,但是当我添加它时,它在本地工作,但不在服务器中工作。在服务器中它是givng错误"失败结束邮件"。如果我将时间减少到10分钟,它没有给出任何例外但没有收到邮件。我想知道我在这里遗漏了什么?是这个服务器配置问题..?请帮我解决这个问题

2 个答案:

答案 0 :(得分:1)

这是因为一次添加太多人。尝试在网络浏览器上使用您的电子邮件做同样的事情,它不允许您发送电子邮件。

要解决此问题,请尝试在1000个电子邮件中多个群组,例如100或200的群组,然后将邮件发送给这些群组。

注意 1)检查防火墙设置是否已关闭 2)检查是否安装了防病毒软件,在发送电子邮件时防病毒软件是否允许或者您可以进入防病毒设置并禁用邮件检查选项

答案 1 :(得分:0)

我想分享我发送电子邮件的经验。我还习惯发送B-Day电子邮件,但在我的情况下,通常有100-150人,所有邮件都成功发送。我为此制作了一个Web服务,其唯一的任务是发送电子邮件。但是在电子邮件开始成功交付之前,我们在本地机器上进行了测试,但是当我们在服务器上进行测试时,我面临同样的问题,导致这种失败的原因是我们在.Net framework 2.0中部署了我们的Web服务而不是将其更改为4.0然后用10000,5000,1000封电子邮件再次测试它,它工作得很好,不是所有的电子邮件,但大多数都到达目的地。还有一件事要提到我们发送电子邮件的地址是由电子邮件服务器中的网络部门限制的只发送100封电子邮件。同时尽量避免从一个发件人和一个电子邮件服务器发送太多电子邮件,因为您可能会将其列入黑名单。

摘要

  • 首先检查您是否使用.Net framework 2.0,如果是的话 切换到4.0。
  • 确保网络部门没有任何限制 电子邮件服务器以及您用作发件人的地址。
  • 将所有代码放在using语句中,以确保对象处理完毕。
  • 发送电子邮件(每次约100个)。

    using() { //Place you email sending code here. }