部署需要Smtp服务支持的Web项目,最怕看到CDO.Message错误了,网上也有不少怎样解决这类错误的文章,但是,有的也属故弄玄虚,以下是本人近日遇到的两个情况和解决办法。
1、McAfee 8.0阻止25端口问题
操作系统:WinXp Sp2 英文版
问题:Web项目运行时,匿名调用Smtp服务发送邮件,报CDO.Message错误,提示无法连接到Smtp服务器或者Smtp服务器Not Available。
检查结果:由于安装了McAfee8.0客户端,而McAfee默认安装时会禁用25端口。
解决办法:打开McAfee的主程序,点击“访问保护”菜单,将阻止25端口的CheckBox取消及解决问题
2、SmtpMail.SmtpServer 置为localhost或127.0.0.1
操作系统:Windows Server 2003 中文版
问题:Web项目运行时,匿名调用Smtp服务发送邮件,报CDO.Message错误,提示无法连接到Smtp服务器或者Smtp服务器Not Available。
检查结果:没有发现阻止25端口的程序运行,却还是报无法连接到服务器错误,是边网上的各种文章列举的所有解决办法都无果,最后想,是不是可能根本连不上服务器所以出错?原来的SmtpServer用的是127.0.0.1,在开发用的WinXp Sp2英文版运行正常的,难道,Win2003系统策略的问题吗?在2003下尝试用Outlook发送邮件,smtp服务器地址设为127.0.0.1或localhost都提示连接不到服务器,最后将Smtp服务器地址设为实际的IP,Outlook发送成功!终肯定错误原因于此。
解决办法:将Web程序中所有的SmtpServer设为实际的IP或者指向实际IP的域名,问题解决!