关于smtp的问题,真的可以解决哦!我就是这样成功的!

博主做了一个SERVER监控系统,具备发送EMAIL功能。原本使用外部SMTP SERVER,因DATA CENTER的FIREWALL原因改用localhost后,系统提示无法访问'CDO.Message'对象的错误。检查发现是权限设置问题,在IIS ADMIN中增加127.0.0.1后,邮件发送成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天做了一个小PROJECT,大致是一个SERVER监控系统,如果发现某部SERVER有异常,发送EMAIL到相关手机,以便在非工作时间和节假日也能及时知道系统故障。

其中一个功能就是发送EMAIL。程序是这样的:

myMailMsg.To = "888888888@mobile.att.net";

myMailMsg.From = "support@medicalit.net";

myMailMsg.Subject = "server down";

myMailMsg.Body = "Please call StarLan to chen Database Server";

myMailMsg.BodyFormat = MailFormat.Text;

SmtpMail.SmtpServer="localhost";

SmtpMail.Send(myMailMsg);

本来是用外部的SMTP SERVER

 SmtpMail.SmtpServer="smtp.XXX.com";

但后来发现由于DATA CENTERFIREWALL原因,改用

 SmtpMail.SmtpServer="localhost";

运行后系统提示错误信息:

Email Fail
Could not access 'CDO.Message' object.
Here is the full error message output:
System.Web.HttpException: Could not access 'CDO.Message' object. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Runtime.InteropServices.COMException (0x8004020F): The server rejected one or more recipient addresses. The server response was: 550 5.7.1 Unable to relay for
12321323@mobile.att.net

检查SMTP SERVICE,正常,估计是权限设置问题。打开IIS ADMIN,右键点击SMTP VIRTUAL SERVER,选择属性,在ACCESS中点RELAY,增加127.0.0.1。一路OK回去。

这时候再运行程序,邮件发送成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值