windows虚拟主机利用发信组件通过企业邮局的身份验证方法发送邮件

如果您已经申请购买cdo发信组件(win2000:CDONTS或者win2003:CDOSYS),并使用企业邮局接收邮件,由于邮局服务端具备本地身份验证规则,如果投递服务器(您的站点)域名与企业邮箱域名相同情况下,您的站点投递的邮件就会因无法通过企业邮局的本地身份验证而被拒绝。给您带来的问题是:“如何通过验证并保证我的正常工作呢?”

 我们只需要在发信组件程序模板上稍作修改就可以解决,具体方法如下:

一、CDONTS发信组件

你可以用下面的脚本样例通过ASP发送E-MAIL

 

<%

set newmail=server.CreateObject("cdonts.newmail")

newmail.From="webmaster@www.yourdomain.com"      //以主机名方式发送,此方法可以通过服务端本地身份验证

newmail.value("Reply-To")="test@test.com"    //默认回复地址(发件人提交的地址),避免被回复至"webmaster@www.yourdomain.com"

newmail.To = webmaster@yourdomain.com         //企业邮局收件人地址

newmail.Subject="主题"

newmail.Body = "asp mail"

newmail.BodyFormat =0

newmail.MailFormat =0

newmail.Send

response.write "send ok!"

set newmail=nothing

%>

二、CDOSYS发信组件

<%

你可以用下面的脚本样例通过ASP或者ASPX发送E-MAIL

<% p="">

'以下部分为系统配置,请勿更改

Set objMail = Server.CreateObject("CDO.Message")

Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "c:\InetpubmailrootPickup"

objCDOSYSCon.Fields.Update

Set objMail.Configuration = objCDOSYSCon

'系统配置结束

'以下为用户自行更改部分,请由程序员进行修改

objMail.From = "webmaster@www.yourdomain.com"   //以主机名方式发送,此方法可以通过服务端本地身份验证

objMail.Fields("urn:schemas:httpmail:reply-to") ="test@test.com"    //默认回复地址(发件人提交的地址),避免被回复至"webmaster@www.yourdomain.com"

objMail.Subject = "win2003发信组件测试"

'把下面的email改成自己的

objMail.To = webmaster@yourdomain.com         //企业邮局收件人地址

objMail.TextBody = "win2003测试发信组件正常"

objMail.Send

Set objMail = Nothing

Set objCDOSYSCon = Nothing

%>


<% p="">

以上方法实际上是在原有样例的基础上,通过修改发件人地址,以及增加设置默认回复的方法来实现的,请您参考测试。

 

如问题还未解决,请联系售后技术支持


 

 


阿里云首页 云虚拟主机 相关技术圈