根据提供的ASP代码片段,我们可以总结出以下几个重要的知识点: ### ASP函数大全之邮件发送函数 #### 1. 使用 JMail 发送邮件 在ASP环境中,`JMail` 是一个非常流行的第三方组件,它允许开发者轻松地从ASP应用程序发送电子邮件。下面是对 `Jmail` 函数的解析: ```vbscript Sub Jmail(email, topic, mailbody) On Error Resume Next Dim JMail Set JMail = Server.CreateObject("JMail.Message") ' 设置静默模式 ' JMail.Silent = True JMail.Logging = True JMail.Charset = "gb2312" JMail.MailServerUserName = Newasp.System_info(11) ' 邮件服务器用户名 JMail.MailServerPassword = Newasp.System_info(12) ' 邮件服务器密码 JMail.ContentType = "text/html" JMail.Priority = 1 JMail.From = Newasp.System_info(8) ' 发件人地址 JMail.FromName = Newasp.System_info(0) ' 发件人名称 JMail.AddRecipient email JMail.Subject = topic JMail.Body = mailbody JMail.Send(Newasp.System_info(9)) ' 邮件服务器地址 Set JMail = Nothing SendMail = "OK" If Err Then SendMail = "False" End Sub ``` - **参数解释**: - `email`:收件人的邮箱地址。 - `topic`:邮件的主题。 - `mailbody`:邮件的正文内容。 - **功能实现**: - 创建 `JMail.Message` 对象并设置其属性,如编码格式、服务器用户名和密码等。 - 添加收件人、设置邮件主题和正文。 - 调用 `Send` 方法发送邮件。 - 清理对象资源。 #### 2. 使用 CDO 发送邮件 除了 `JMail` 外,还可以使用 `CDO` 组件来发送邮件。下面是对 `Cdonts` 函数的解析: ```vbscript Sub Cdonts(email, topic, mailbody) On Error Resume Next Dim objCDOMail Set objCDOMail = Server.CreateObject("CDONTS.NewMail") objCDOMail.From = Newasp.System_info(8) ' 发件人地址 objCDOMail.To = email objCDOMail.Subject = topic objCDOMail.BodyFormat = 0 objCDOMail.MailFormat = 0 objCDOMail.Body = mailbody objCDOMail.Send Set objCDOMail = Nothing SendMail = "OK" If Err Then SendMail = "False" End Sub ``` - **参数解释**: - `email`:收件人的邮箱地址。 - `topic`:邮件的主题。 - `mailbody`:邮件的正文内容。 - **功能实现**: - 创建 `CDONTS.NewMail` 对象并设置其属性。 - 添加收件人、设置邮件主题和正文。 - 调用 `Send` 方法发送邮件。 - 清理对象资源。 #### 3. 使用 Persits.MailSender 发送邮件 另一个常用的方法是通过 `Persits.MailSender` 组件来发送邮件。下面是对 `aspemail` 函数的解析: ```vbscript Sub aspemail(email, topic, mailbody) On Error Resume Next Dim Mailer Set Mailer = Server.CreateObject("Persits.MailSender") Mailer.Charset = "gb2312" Mailer.IsHTML = True Mailer.Username = Newasp.System_info(11) ' 用户名 Mailer.Password = Newasp.System_info(12) ' 密码 Mailer.Priority = 1 Mailer.Host = Newasp.System_info(9) Mailer.Port = 25 ' 可选,默认为25端口 Mailer.From = Newasp.System_info(8) ' 发件人地址 Mailer.FromName = Newasp.System_info(0) ' 发件人名称 Mailer.AddAddress email, email Mailer.Subject = topic Mailer.Body = mailbody Mailer.Send SendMail = "OK" If Err Then SendMail = "False" End Sub ``` - **参数解释**: - `email`:收件人的邮箱地址。 - `topic`:邮件的主题。 - `mailbody`:邮件的正文内容。 - **功能实现**: - 创建 `Persits.MailSender` 对象并设置其属性。 - 添加收件人、设置邮件主题和正文。 - 调用 `Send` 方法发送邮件。 - 清理对象资源。 #### 4. HTML 编码与解码 为了确保发送的邮件内容不会被浏览器误解析为HTML代码,需要对邮件中的HTML标签进行转义处理。下面是对 `HTMLEncode` 和 `HTMLDecode` 函数的解析: ```vbscript Function HTMLEncode(fString) fString = Replace(fString, ">", ">") fString = Replace(fString, "<", "<") fString = Replace(fString, Chr(32), " ") fString = Replace(fString, Chr(34), """) fString = Replace(fString, Chr(39), "'") fString = Replace(fString, Chr(13), "") fString = Replace(fString, Chr(10) & Chr(10), "</P><P>") fString = Replace(fString, Chr(10), "<BR>") HtmlEncode = fString End Function Function HTMLDecode(fString) fString = replace(fString, ">", ">") fString = replace(fString, "<", "<") fString = replace(fString, " ", " ") fString = replace(fString, """, Chr(34)) fString = replace(fString, "'", Chr(39)) fString = replace(fString, "<BR>", Chr(10)) fString = replace(fString, "</P><P>", Chr(10) & Chr(10)) HTMLDecode = fString End Function ``` - **功能实现**: - `HTMLEncode` 函数将特定字符转换为其HTML实体表示形式。 - `HTMLDecode` 函数则将HTML实体还原成原始字符。 通过以上解析,我们可以看到这些函数如何有效地利用不同的组件和技术来实现邮件的发送以及如何对邮件内容进行编码和解码以确保正确显示。这对于任何从事ASP开发的人来说都是非常有用的知识点。
'邮件
Sub Jmail(email,topic,mailbody)
on error resume next
dim JMail
Set JMail=Server.CreateObject("JMail.Message")
'JMail.silent=true
JMail.Logging=True
JMail.Charset="gb2312"
JMail.MailServerUserName = Newasp.System_info(11) '您的邮件服务器登录名
JMail.MailServerPassword = Newasp.System_info(12) '登录密码
JMail.ContentType = "text/html"
JMail.Priority = 1
JMail.From=Newasp.System_info(8) '邮件地址
JMail.FromName = Newasp.System_info(0) '网站名称
JMail.AddRecipient email
JMail.Subject=topic
JMail.Body=mailbody
JMail.Send (Newasp.System_info(9)) '发邮件服务器地址
Set JMail=nothing
SendMail="OK"
If err then SendMail="False"
end sub
'邮件
sub Cdonts(email,topic,mailbody)
on error resume next
dim objCDOMail
Set objCDOMail = Server.CreateObject("CDONTS.NewMail")
objCDOMail.From =Newasp.System_info(8) '邮件地址
objCDOMail.To =email
objCDOMail.BodyFormat = 0
objCDOMail.MailFormat = 0
objCDOMail.Body =mailbody
objCDOMail.Send
Set objCDOMail = Nothing
SendMail="OK"
If err then SendMail="False"
end sub
'邮件
sub aspemail(email,topic,mailbody)
on error resume next
dim Mailer
Set Mailer=Server.CreateObject("Persits.MailSender")
Mailer.Charset = "gb2312"
Mailer.IsHTML = True
Mailer.username = Newasp.System_info(11) '服务器上有效的用户名
Mailer.password = Newasp.System_info(12) '服务器上有效的密码
Mailer.Priority = 1
Mailer.Host = Newasp.System_info(9)
Mailer.Port = 25 ' 该项可选.端口25是默认值
Mailer.From = Newasp.System_info(8) '邮件地址
Mailer.FromName = Newasp.System_info(0) ' 该项可选
Mailer.AddAddress email,email
Mailer.Subject = topic
Mailer.Body = mailbody
Mailer.Send
SendMail="OK"
If err then SendMail="False"
end sub
剩余21页未读,继续阅读
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 个人原创STM32F1 BOOTLOADER,主控芯片为STM32F103VET6
- Alpaca 交易 API 的 Python 客户端.zip
- 基于Django与讯飞开放平台的ACGN文化交流平台源码
- 中国象棋(自行初步设计)
- 微信小程序实现找不同游戏
- 100_Numpy_exercises.ipynb
- 2023-04-06-项目笔记 - 第三百二十六阶段 - 4.4.2.324全局变量的作用域-324 -2025.11.23
- 一个简单的模板,开始用 Python 编写你自己的个性化 Discord 机器人.zip
- TP-Link 智能家居产品的 Python API.zip
- 一个需要十一个字才能i激活的神奇代码-OLP