在早期的ASP开发中,发送邮件是一个常见需求。今天回过头来整理一下当年使用jmail组件发送邮件的经验,希望能给还在维护老项目的朋友一点帮助。
1. 组件安装(当时折腾了一下)
首先需要下载jmail.dll文件(网上搜索就能找到),然后把它复制到服务器系统的C:/WINNT/system32目录下。接着用命令行注册:
regsvr32 jmail.dll
记得要以管理员权限运行命令行,否则会注册失败。这一步当年经常因为权限问题折腾半天。
2. ASP调用代码(核心步骤)
注册成功后,就可以在ASP文件中编写发送邮件的代码了。下面是一个典型的示例,注释里保留了我当时用的繁体习惯,大家可以根据需要调整。
<%
' 创建jmail邮件对象
set jmail = server.CreateObject("JMAIL.Message")
' 屏蔽错误,返回True/False,便于调试
jmail.silent = true
' 开启日志,方便查看发送状态
jmail.logging = true
' 设置邮件格式为HTML
jmail.ContentType = "text/html"
' 设置字符编码(简体中文环境建议用GB2312或UTF-8)
jmail.Charset = "BIG5" ' 原文用BIG5(繁体),可改为"GB2312"
' 添加收件人
jmail.AddRecipient "shege-java@163.com"
' 抄送
jmail.AddRecipientCC "shege-java@163.com"
' 密送
jmail.AddRecipientBCC "shege-java@163.com"
' 发件人地址和名称
jmail.from = "slyn_2004@163.com"
jmail.fromname = "slyn_2004(博客)"
' 邮件主题
jmail.Subject = "TO: CSDN各位博客好友"
' 拼接邮件正文(HTML格式)
jmail.AppendHTML(" 您们好:<br><br>")
jmail.AppendHTML(" 这是一封由slyn_2004(博客)发出的信件<br>")
jmail.AppendHTML(" 请您们有时间来博客逛逛!<br>")
jmail.AppendHTML(" 谢谢!<br>")
jmail.AppendHTML(" slyn_2004(博客)<br>")
' 发送邮件(mailhost替换为你的SMTP服务器地址)
jmail.Send(mailhost)
' 关闭对象,释放资源
jmail.Close
%>
3. 几个容易踩的坑(回顾总结)
- 编码问题:如果收件人看到乱码,多半是
Charset设置不对。国内环境用GB2312或UTF-8比较稳妥。 - SMTP服务器:
jmail.Send(mailhost)中的mailhost需要填写真实的SMTP地址(比如smtp.163.com),并且很多邮箱要求身份验证,jmail可能需要额外设置jmail.MailServerUserName和jmail.MailServerPassword。 - 组件注册:如果服务器是64位系统,
regsvr32要用64位版的命令行,或者把dll放到SysWOW64下并相应注册。 - 防垃圾邮件:发件人地址最好与SMTP服务器认证的用户名一致,否则容易被拒。
4. 写在最后
当年jmail是ASP发邮件的利器,虽然现在.NET、Python等更现代的技术已普及,但老系统维护时仍会遇到。希望这篇回顾能帮你快速回忆起用法,少走一些弯路。如果有遗漏,欢迎留言补充。

本文介绍如何利用JMail组件在ASP中实现邮件发送功能,包括设置邮件格式、收发件人信息及发送过程。
1010

被折叠的 条评论
为什么被折叠?



