使用CDO通过外部邮件服务器发邮件 (免安装其他邮件组件)
John Peterson [ hooke 编译 ]
WIN2K下的CDO或CDONTS被默认配置成只能通过本地的Microsoft SMTP服务来发送邮件,如果要用外部的邮件服务器,一般要安装第三方组件。以下代码教你如何利用CDO通过外部邮件服务器发送邮件。(译者win2000下测试通过。)
<%
Const cdoSendUsingMethod="http://schemas.microsoft.com/cdo/configuration/sendusing"
Const cdoSendUsingPort=2
Const cdoSMTPServer="http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const cdoSMTPServerPort="http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Const cdoSMTPConnectionTimeout="http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"
Const cdoSMTPAuthenticate="http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
Const cdoBasic=1
Const cdoSendUserName="http://schemas.microsoft.com/cdo/configuration/sendusername"
Const cdoSendPassword="http://schemas.microsoft.com/cdo/configuration/sendpassword"
Dim objConfig' As CDO.Configuration
Dim objMessage ' As CDO.Message
Dim Fields ' As ADODB.Fields
Set objConfig = Server.CreateObject("CDO.Configuration")
Set Fields = objConfig.Fields
With Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer)= "sony.com"'改成可用的外部邮件服务器域名
.Item(cdoSMTPServerPort)= 25
.Item(cdoSMTPConnectionTimeout) = 10
.Item(cdoSMTPAuthenticate)= cdoBasic
.Item(cdoSendUserName)= "hooke" '以上服务器的用户名
.Item(cdoSendPassword)= "mypassword" '密码
.Update
End With
Set objMessage = Server.CreateObject("CDO.Message")
Set objMessage.Configuration = objConfig
With objMessage
.To = "F4@meteorgardon.com"'改成接收者的邮件地址
.From = "hooke@sony.com"'改成发送人的邮件地址
.Subject= "SMTP Relay Test"'标题
.TextBody = "SMTP Relay Test Sent @ " & Now() '正文
.Send
End With
Set Fields = Nothing
Set objMessage = Nothing
Set objConfig = Nothing
%>
……