繁体   English   中英

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

[英]Unable to send Email Using SmtpClient in asp.net

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

//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人的“ B”日邮件。 因此,我将向“生日”过的人发送电子邮件,并将“密件抄送”发送给其余近1000名员工。如果不添加密件抄送,则工作正常。如果我要添加密件抄送(1000人),则类似“暂停”。 我添加了将近1个小时的超时时间来克服这一问题。 我知道这不是一个好习惯,但是当我添加它时,它在本地但不在服务器中工作。 在服务器中,它给出了错误“邮件结束失败”。假设如果我将超时时间减少到10分钟,则它没有给出任何异常但没有收到邮件。 我想知道我在这里什么都没有吗? 这是服务器配置问题吗? 请帮我解决这个问题

这是因为一次增加了太多人 尝试在网络浏览器上对电子邮件执行相同的操作,它将不允许您发送电子邮件。

要解决此问题,请尝试从1000封电子邮件(例如100或200组)中创建多个组,然后将邮件发送到这些组。

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

我想分享我发送电子邮件的经验。我也曾经发送过B天电子邮件,但就我而言,通常有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. }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM