最近碰到这个问题了,kesion自带用的是jmail发邮件的,阿里云空间默认是封禁25端口的,空间预装的是jmail组件之前收藏过安仔的帖子,
http://bbs.kesion.com/forumthread-1419728.html,他改用
CDO.Message组件,我复制他的代码,还是没发送成功,根据回帖稍微修改了下直接替换掉官方原来的代码,替换后阿里云空间通过465端口发送成功
↓直接用下面这段修改后的代码替换官方的↓
- 'CDO发送邮件 Function SendMail(MailAddress, LoginName, LoginPass, Subject, MailCode, Sender, Content, Fromer) On Error Resume Next Dim NameSpace,Email NameSpace = "http://schemas.microsoft.com/cdo/configuration/" '这个不能更改 Set Email = CreateObject("CDO.Message") Email.BodyPart.Charset = "gb2312" '邮件的文字编码为国标 Email.From = Fromer '发件人的E-MAIL地址 Email.To = MailCode '收信人的地址 Email.Subject = Subject '邮件的标题 Email.HTMLBody = Content '邮件的内容 with Email.Configuration.Fields .Item(NameSpace&"smtpauthenticate") = 1 'SMTP验证,一般都是1,代表普通 .Item(NameSpace&"sendusername") = LoginName '自己邮箱的用户名 .Item(NameSpace&"sendpassword") = Decrypt(LoginPass) '密码 '''''''''''''' .Item(NameSpace&"smtpserverport") = 465 'SMTP服务器(端口25)阿里云封了25,需要用ssl端口465 【一般用25、587 SSL协议端口号:465、587、944】 .Item(NameSpace&"smtpusessl") = "true" 'SMTP服务器(端口25)阿里云封了25,需要用ssl端口465 '''''''''''''' .Item(NameSpace&"sendusing") = 2 '1 代表使用 local smtp, 2 为外部 smtp .Item(NameSpace&"smtpserver") = MailAddress '邮箱服务器域名地址 .Update end with Email.Send If Err Then CoDMail = Err.Description Err.Clear Else CoDMail = "OK" End If End Function
ps:论坛的代码模式(↑就上面这段代码↑),简直无法直视,没法换行,像压缩后一样,无法直观阅读