做了一个发送邮件的模块,在本地上测试没有任何问题,但是发布到了服务器上,问题就来了。
1,Send Error:不允许使用邮箱名称。 服务器响应为: You are not authorized to send mail, authentication is required
解决方案:smtp.UseDefaultCredentials = false;加上这句就可以了。
2,邮件发送失败,反复尝试都是这样,后来在事件查看器中看到的事件为"将由端口禁止规则 (规则处于仅警告模式) (防病毒标准保护:禁止群发邮件蠕虫发送邮件) 禁止。"
这是由MaCfee阻滞程序发送邮件,甚至包括WEB程序,也会阻滞。
解决方案:
具体的设置过程是:
1. 右击McAfee在系统右下角的小图标,选择“Virus Scan控制台”。
2. 在弹出的界面中,选择“访问保护”,右键选择“属性”。
3. 选择“防病毒标准保护”中的“禁止群发邮件蠕虫发送邮件”选项,并点击“编辑”。
4. 在“已排除进程”添加你运行程序的进程名(一般就是.exe文件的文件名, 这里每个进程名都是由逗号隔开的)。
5. 点击“确定”后就可以了。
如果我们WEB 程序是在 VS2005 自带的 ASP.net Development Server 中运行,则这里的例外程序就是:WebDev.WebServer.Exe
如果是在 IIS 6 中进行的,则通常是 w3wp.exe。IIS 5 通常是 aspnet_wp.exe
看来以后如果和网络有关的程序如果出了莫明其妙的问题,在保证程序没有问题的情况下,可以考虑一些常用的安全软件,如:防病毒软件,防火墙等等。
3,不能发送附件