今天收一个ASP通过jmail组件发送邮件方法(不过对于空间需要支持jmail组件)。
asp使用JMail.Message发送邮件方法:
ASP/Visual Basic Code复制内容到剪贴板
- <%
- On error resume next
- Dim JMail, contentId
- Set JMail = Server.CreateObject("JMail.Message")
- JMail.Charset = "gb2312"
-
-
-
- JMail.From = "someone@51windows.net"
- JMail.FromName = "海娃"
- JMail.Subject = "邮件主题"
-
-
- JMail.MailServerUserName = "myusername"
- JMail.MailServerPassword = "mypassword"
-
-
- JMail.Priority = 3
-
- JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
-
-
- JMail.AddRecipient("someone@somehost.com")
-
-
-
-
-
-
- JMail.HTMLBody = "<html><head><META content=zh-cn http-equiv=Content-Language><meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312""><style type=text/css>A:link { FONT-SIZE: 9pt; TEXT-DECORATION: none; color: #000000}A:visited {FONT-SIZE: 9pt; TEXT-DECORATION: none; color: #666666}A:hover {COLOR: #ff6600; FONT-SIZE: 9pt; TEXT-DECORATION: underline}BODY {FONT-SIZE: 9pt} --></style></head><body><font color=red>邮件正文</font><br><font color=green>邮件正文</font><br><b>邮件正文</b></body></html>"
-
-
- JMail.Body = "我们的邮件采用了HTML格式,但是您的邮件查看软件可能不支持。。。邮件正文,邮件正文,邮件正文"
-
-
- JMail.Send("smtp.163.com")
-
-
- JMail.Close()
- Set JMail = Nothing
-
- if err.number<>0 then
- response.write "发送发送失败!"
- else
- response.write "邮件发送成功!"
- end if
- %>
常见错误:
1.运行提示500错误
asp使用jmail发送邮件,对于运行在网站上需要该空间/主机支持jmail组件。可以通过下面简单的代码测试一下你空间上是否支持jmail组件:
ASP/Visual Basic Code复制内容到剪贴板
- <%
- on error resume next
- Set JMail=Server.CreateObject( "JMail.SMTPMail ")
- if err then
- response.write "服务器没有安装Jmail,因此不支持! "
- end if
- %>
如果您在自己的机器上试,请下载Jmail.dll,下载解压后,双击Setup.bat 即可完成安装!
2. asp使用jmail发邮件,收到后标题是乱码,内容正常是中文
设置一下下面:
ASP/Visual Basic Code复制内容到剪贴板
- JMail.ISOEncodeHeaders = False
- jmail.ContentTransferEncoding = "base64 "
- jmail.Encoding = "base64 "
另附:asp使用CDONTS.NewMail发送邮件方法
ASP/Visual Basic Code复制内容到剪贴板
- <%
- dim objCDOMail
- Set objCDOMail = Server.CreateObject("CDONTS.NewMail")
- objCDOMail.From ="xxx@hotmail.com"
- objCDOMail.To =xxx@hotmail.com
- objCDOMail.Subject ="邮件发送测试"
- body=request.Form("cont")
- objCDOMail.Body =body
- objCDOMail.BodyFormat=1
- objCDOMail.Send
- Set objCDOMail = Nothing
- %>
常见问题:
1.使用CDONTS.NewMail发送邮件需空间支持CDONTS组件。如果您在自己的机器上试,请下载cdonts.dll,下载解压后,拷到windows的system32目录下然后在开始运行里输入regsvr32 cdonts.dll回车注册,注册成功cdonts组件就可以使用了!
2.测试发送成功但未收到邮件
还没有解决,有高手不吝赐教一下,呵呵。