账号通
    

账号  

密码  

3953

查看

9

回复
主题:[分享]科汛CMS修改发送邮件端口号的方法 [收藏主题] 转到:  
anflash 当前离线

209

主题

2

广播

36

粉丝
添加关注
级别:二年级

用户积分:1084 分
登录次数:631 次
注册时间:2011/12/22
最后登录:2024/8/3
anflash 发表于:2018/7/27 13:16:22   | 显示全部帖子 查看该作者主题 楼主 
科汛智能建站系统
阿里云封了25,需要用ssl端口465,导致科汛CMS做得网站无法发送邮件。由于JMAIL.Message组件无法修改端口号,因此改用CDO.Message组件。只需修改一步,即可实现。
具体方法:
修改ASP文件:
/KS_Cls/Kesion.CommonCls.asp

修改内容:

  Public Function SendMail(MailAddress, LoginName, LoginPass, Subject, Email, Sender, Content, Fromer)

   SendMail = CoDMail(MailAddress, LoginName, LoginPass, Subject, Email, Sender, Content, Fromer)

   Exit Function


   On Error Resume Next

Dim JMail

  Set jmail = Server.CreateObject("JMAIL.Message") '建立发送邮件的对象

jmail.silent = true '屏蔽例外错误,返回FALSE跟TRUE两值j

jmail.Charset = "gb2312" '邮件的文字编码为国标

'jmail.ContentType = "text/html" '邮件的格式为HTML格式

jmail.AddRecipient Email '邮件收件人的地址

jmail.From = Fromer '发件人的E-MAIL地址

jmail.FromName = Sender

  If LoginName <> "" And LoginPass <> "" Then

JMail.MailServerUserName = LoginName '您的邮件服务器登录名

JMail.MailServerPassword = Decrypt(LoginPass) '登录密码

  End If


jmail.Subject = Subject '邮件的标题

JMail.Body = Content

JMail.HTMLBody = Content

JMail.Priority = 1'邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值

jmail.Send(MailAddress) '执行邮件发送(通过邮件服务器地址)

jmail.Close() '关闭对象

Set JMail = Nothing

If Err Then

SendMail = Err.Description

Err.Clear

Else

SendMail = "OK"

End If

  End Function

  

  'CDO发送邮件

  Function CoDMail(MailAddress, LoginName, LoginPass, Subject, Email, Sender, Content, Fromer)


On Error Resume Next


Dim 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.TEXTBody = 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


.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


SendMail = Err.Description


Err.Clear


Else


SendMail = "OK"


End If


  End Function



备注:红色为添加部分,服务器要支持CDO.Message组件。
 
个人QQ:845977434
  支持(3) | 反对(0) 回到顶部顶端 回到底部底部
anflash 当前离线

209

主题

2

广播

36

粉丝
添加关注
级别:二年级

用户积分:1084 分
登录次数:631 次
注册时间:2011/12/22
最后登录:2024/8/3
anflash 发表于:2018/7/27 13:16:41   | 显示全部帖子 查看该作者主题 沙发 
科汛在线网校系统
没来得及测试,若有问题请留言。
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
anflash 当前离线

209

主题

2

广播

36

粉丝
添加关注
级别:二年级

用户积分:1084 分
登录次数:631 次
注册时间:2011/12/22
最后登录:2024/8/3
anflash 发表于:2019/4/25 22:08:29   | 显示全部帖子 查看该作者主题 藤椅 
科汛智能建站系统

由于写的比较急,“CDO发送邮件”方法有错误 ,下面是纠正后的代码:

   'CDO发送邮件

  Function CoDMail(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.TEXTBody = Content       '邮件的内容

   with Email.Configuration.Fields

    .Item(NameSpace&"smtpauthenticate") = 1  'SMTP验证,一般都是1,代表普通

    .Item(NameSpace&"sendusername") = LoginName       '自己邮箱的用户名

    .Item(NameSpace&"sendpassword") = Decrypt(LoginPass)       '密码

    ''''''''''''''

    .Item(NameSpace&"smtpserverport") = 587 '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

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
anflash 当前离线

209

主题

2

广播

36

粉丝
添加关注
级别:二年级

用户积分:1084 分
登录次数:631 次
注册时间:2011/12/22
最后登录:2024/8/3
anflash 发表于:2019/4/25 23:28:15   | 显示全部帖子 查看该作者主题 板凳 
科汛在线考试系统(NET)

把上面的代码

Email.TEXTBody = Content       '邮件的内容

改成

Email.HTMLBody= Content       '邮件的内容

邮箱里的内容就不显示html代码了

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.12500秒 powered by KesionCMS 9.0