我正在为服务器开发一个应用程序,它必须偶尔发送邮件以通知用户。
MailMessage mm = new MailMessage();
mm.To.Add("me@domain.net");
mm.From = new MailAddress("you@domain.net");
mm.Subject = "J/K";
mm.Priority = MailPriority.Normal;
mm.IsBodyHtml = false;
mm.Body = "Greetings and salutations";
SmtpClient client = new SmtpClient("host.address.lcl");
client.Send(mm);
如果我将应用程序放在实际的服务器上,它可以正常工作,但在我的工作站上,根据我访问代码的方式,它会无声地失败或抛出异常。在任何一种情况下都会生成McLogEvent:
Blocked by port blocking rule (Anti-virus Standard Protection:Prevent
mass mailing worms from sending mail).
......例外说:
System.Net.Mail.SmtpException: Failure sending mail. ---> System.Net.WebException:
Unable to connect to the remote server ---> System.Net.Sockets.SocketException:
No connection could be made because the target machine actively refused it [IP & Port Numbers]
看起来我的工作站上的规则正在努力防止直接或间接生成邮件,但我不知道如何制作“主动拒绝它”部分,因为如果McLogEvent文本似乎建议它不会那么远。
我应该指出,如果我使用System.Web.Mail,它的效果很好。当然,有一个缺点是关于这个命名空间的编译器消息被弃用而不支持System.Net.Mail。
任何人都知道如何通过从我的工作站发送邮件来使McAfee变得更酷?
答案 0 :(得分:7)
右键单击McAfee图标,从sys托盘打开mcafee控制台,然后选择VirusScan Console
查看“任务,访问保护”下的属性
取消选中阻止端口25上的外发邮件的规则。
编辑 - 说它被主动拒绝的例外只是因为迈克菲不允许你在端口25上建立任何连接,所以例外只是认为你尝试了一个没有任何东西的主机25或者有防火墙阻止25。
值得指出的是,如果您在公司网络上运行企业版McAfee,则可能会将设置配置在比您的系统更高的级别,因此您可能无法更改它 - 请与如果是这种情况,你的系统管理员。
答案 1 :(得分:1)
这取决于您是否在运行EPO(McAfee ePolicy Orchestrator)的环境中,或者您的防病毒是否是独立的。如果是EPO,那么您需要在EPO控制台中解锁您的工作站(和程序可执行文件)。