Asp发送邮件大多用的都是jmail,但是jmail收费,很多服务器不支持此组件。
其实通过windows服务器自带的CDO.Message即可发送邮件,无需额外安装组件。
下面是CDO.Message发送邮件的函数封装。
'=======================================================
'参数说明
'MailAddress : 发件服务器的地址,如smtp.163.com
'LoginName ----登录用户名(不需要请填写"")
'LoginPass ----用户密码(不需要请填写"")
'Subject : 邮件标题
'EmailTo : 收件人邮件地址
'Sender : 发件人姓名
'Content : 邮件内容
'****************************************************
Function SendMailByCDO(MailAddress, LoginName, LoginPass, Subject, EmailTo, Sender, Content)
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
Dim objMessage
Dim Fields
Set objConfig = Server.CreateObject("CDO.Configuration")
Set Fields = objConfig.Fields
With Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = MailAddress
.Item(cdoSMTPServerPort) = 25
.Item(cdoSMTPConnectionTimeout) = 10
.Item(cdoSMTPAuthenticate) = cdoBasic
.Item(cdoSendUserName) = LoginName
.Item(cdoSendPassword) = LoginPass
.Update
End With
Set objMessage = Server.CreateObject("CDO.Message")
Set objMessage.Configuration = objConfig
With objMessage
.BodyPart.Charset = "utf-8"
.To=EmailTo
.From=LoginName
.Subject=Subject
.HtmlBody=Content
.Send
End With
Set Fields = Nothing
Set objMessage = Nothing
Set objConfig = Nothing
If Err Then
SendMailByCDO = Err.Description
Err.Clear
Else
SendMailByCDO = "OK"
End If
End Function









