ASP与jmail发送邮件:一次实用的回顾
在早期的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等更现代的技术已普及,但老系统维护时仍会遇到。希望这篇回顾能帮你快速回忆起用法,少走一些弯路。如果有遗漏,欢迎留言补充。
