许多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
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);
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