.net邮件发送问题

注意:下面的方法可供参考,后来发现因为模拟环境使用的邮件服务器地址的问题,用的是开发环境的地址。

在使用System.Net.Mail发送邮件时,遇到一个问题,当发送的邮箱地址不为自己公司邮箱地址的时候会出现如下如下错误:

Mailbox unavailable. The server response was: 5.7.1 Unable to relay fortest@dongbao.com.cn

百度了一个解决方案,是设置iis上虚拟邮件服务的。

http://stackoverflow.com/questions/3165721/mailbox-unavailable-the-server-response-was-5-7-1-unable-to-relay-for-abcxyz

设置了但是还是没有效果。

又百度了一个解决方法,是在创建SmtpClient时,指定发送邮件使用IIS拾取目录进行发送。主要步骤就是先将邮件放到【PickUp】目录下,然后IIS进行发送。

        public  EMail()
        {
            objSmtpMail = new SmtpClient(PublicConfig.SmtpServer, Convert.ToInt16(PublicConfig.SmtpPort));
            objSmtpMail.UseDefaultCredentials = true;
			//设置发送邮件通过拾取目录的方式
            objSmtpMail.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
        }

不过在配置好后,发现在模拟环境是可以的,但是本地邮件发送成功但是并没有收到,经过查找发现没收到的邮件都跑到【Queue】这个文件夹里面了,通过对比后发现,还需要在iis里面设置一个中继邮件地址,就是通过这个地址发送邮件。如下图,设置一个可以使用的中继主机即可。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值