Asp发送邮件大多用的都是jmail,但是jmail收费,很多服务器不支持此组件。
其实通过windows服务器自带的CDO.Message即可发送邮件,无需额外安装组件。
下面是CDO.Message发送邮件的函数封装。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | '======================================================= '参数说明 'MailAddress : 发件服务器的地址,如smtp.163.com 'LoginName ----登录用户名(不需要请填写"") 'LoginPass ----用户密码(不需要请填写"") 'Subject : 邮件标题 'EmailTo : 收件人邮件地址 'Sender : 发件人姓名 'Content : 邮件内容 '**************************************************** Function SendMailByCDO(MailAddress, LoginName, LoginPass, Subject, EmailTo, Sender, Content) Const cdoSendUsingPort=2 Const cdoSMTPConnectionTimeout= "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout" Const cdoBasic=1 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 |