windows虚拟主机利用发信组件通过企业邮局的身份验证发送邮件的方法
发布日期:2015-12-4 10:12:13
如果您已经申请购买cdo发信组件(win2003:CDOSYS或win2000:CDONTS),并使用企业邮局来接收邮件,由于邮局服务端具备本地身份验证规则,如果投递服务器(您的站点)域名与企业邮箱域名相同情况下,您的站点投递的邮件就会因无法通过企业邮局的本地身份验证而被拒绝。给您带来的问题是:“如何通过验证并保证我的正常工作呢?”
我们只需要在发信组件程序模板上稍作修改就可以解决,具体方法如下:
一、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="">
二、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
%>
以上方法实际上是在原有样例的基础上,通过修改发件人地址以及增加设置默认回复的方法来实现的,请您参考测试。