我这里有一个VC写的程序,跟书上几乎一样,程序应该没有错,协议是SMTP,比如我要发163的邮箱,服务器不是smtp.163.com吗?在cmd里ping ,应该是202.108.5.85,为什么一直连接不上啊,求救!

解决方案 »

  1.   

    smtp,你需要服务器支持你的smtp请求
      

  2.   

    2.4 邮件服务器需要发信认证的处理一些SMTP服务器需要认证信息,您需要在Send时提供用户名与密码,例如:
    pMessage->Send("username:[email protected]")2.5 不通过SMTP中继服务器发送邮件在发信时我们一般把信件提交给SMTP中继服务器,SMTP中继服务器负责和目标邮局联系,并最终将信件提交到收件人所在的邮件服务器。
    在没有可利用的SMTP中继服务器时,我们可以将服务器名设置为空,例如:pMessage->Send("", VARIANT_FALSE);
    这样,组件会通过DNS查询目标域(例如:163.com)中的MX记录,直接将信件提交到MX记录中所指定的邮件服务器中。2.6 经代理网关发送邮件上文所说的SMTP中继服务器上的邮件传输代理程序(MTA),与WINGATE,CPROXY等代理软件提供的SMTP代理工作原理是一样的,
    所以具体的发送过程也一样,例如:
    代理网关地址 192.16.10.11, 要往[email protected]发信,代码如下: ......
    pMessage->AddRecipient("[email protected]","","");
    pMessage->Send("192.16.10.11", VARIANT_FALSE);
      

  3.   

    许多SMTP服务器不支持转发,或支持转发但不转发MAIL FROM不是本地帐号的信,错误信息:
    The message was undeliverable. All servers failed to receive the message许多SMTP服务器不接收外部的邮件,例如smtp.sohu.com,所以想要向SOHU发信你可以不设邮件服务器, 而是通过
    DNS查询邮件交换服务器,或者直接将邮件服务器设置为sohumx.sohu.com。像SOHU信箱会对一些发件人信箱进行过滤,例如您将发件人信箱设为[email protected],或者发件人信箱与收件人信箱一致,
    发信时将返回:554<[email protected]>:Sender address rejected:Access denied