日期:2014-05-17  浏览次数:20557 次

用NET自带的Email模块发送邮件,为什么域内的可以收到,外部邮件都发送不出去?
已经确认服务器上POP3、SMTP和IMAP都是开着的
网页登录邮箱,发送内部、外部邮件都可以。
用代码可以发送内部邮件(domain内的),但是发送外部邮件就不行。
Web.Config

<system.net>
    <!--email begin-->
    <mailSettings>
      <smtp from="OSS@XXX.com">
        <network host="192.168.1.16" password="Win2003" port="25" userName="XXX\OSS" defaultCredentials="true" />
      </smtp>
    </mailSettings>
    <!--email end-->
  </system.net>

C# Code:

                    using (var smtpclient = new System.Net.Mail.SmtpClient())
                    {
                        smtpclient.EnableSsl = true;
                        smtpclient.DeliveryMethod = SmtpDeliveryMethod.Network;
                        System.Net.ServicePointManager.ServerCertificateValidationCallback = (s, certificate, chain, sslPolicyErrors) => true;
                        smtpclient.Send(message);
                    }

------解决方案--------------------
192.168.1.16 .这个要用外网IP吧。
------解决方案--------------------
参考详细:
http://www.cnblogs.com/insus/p/3471534.html
http://www.cnblogs.com/insus/p/3474472.html
------解决方案--------------------
引用:
Quote: 引用:

192.168.1.16 .这个要用外网IP吧。

这个是SMTPSERVER,请问为什么要用外网地址呢?
不太懂这块的协议,不好意思。

这个协议无关,只记得得用外网的,你可以申请163的邮件试试就知了,
记得MS发送邮件的,他里里有并接了字符串,你要是有做登录的验证,所以要用外网的IP吧
m.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1" ); //basic authentication

m.Fields.Add("http://schemas.microsoft.com/cdo/configurat