代码
主要是smtp服务器需要认证,如果是163的用户的话,你的程序中加上用户名和密码认证即可。
下面的代码引自Guest7(第七访客)
///////////////////////////
'========================================================
'函数名:SendMail
'作 用:用Jmail组件发送邮件(需要验证形式)
'说 明: Jmail4.3组件重新设计了其内部结构——使用
' Message对象代替原来的单一对象Jmail.smtpmail发送
' 邮件,有些方法需要身份验证的(如163、yahoo等),
' 可以用下面的方法解决:
'参 数:MailtoAddress ----收信人地址
' MailtoName -----收信人姓名
' Subject -----主题
' MailBody -----信件内容
' FromName -----发信人姓名
' MailFrom -----发信人地址
' MailServer -----用来发邮件的SMTP服务器地址
' Priority -----信件优先级
' MailServerUserName -----登录用户名
' MailServerPassWord -----登录密码
' MailDomain -----域名
'========================================================
function SendMail(MailtoAddress,MailtoName,Subject,MailBody,FromName,MailFrom,MailServer,Priority,MailServerUserName,MailServerPassWord,MailDomain)
on error resume next
Dim JMail
Set JMail=Server.CreateObject("JMail.Message")
if err then
SendMail= "<br><li>没有安装JMail组件</li>"
err.clear
exit function
end if
JMail.Charset="gb2312" '邮件编码
JMail.silent=true
JMail.ContentType = "text/html" '邮件正文格式
JMail.ServerAddress= MailServer '用来发送邮件的SMTP服务器
'如果服务器需要SMTP身份验证则还需指定以下参数
JMail.MailServerUserName = MailServerUserName '登录用户名
JMail.MailServerPassWord = MailServerPassWord '登录密码
JMail.MailDomain = MailDomain '域名(如果用“name@domain.com”这样的用户名登录时,请指明domain.com
JMail.AddRecipient MailtoAddress,MailtoName '收信人
JMail.Subject=Subject '主题
JMail.HMTLBody=MailBody '邮件正文(HTML格式)
JMail.Body=MailBody '邮件正文(纯文本格式)
JMail.FromName=FromName '发信人姓名
JMail.From = MailFrom '发信人Email
JMail.Priority=Priority '邮件等级,1为加急,3为普通,5为低级
JMail.Send(MailServer)
SendMail =JMail.ErrorMessage
JMail.Close
Set JMail=nothing
End function
代码
解决乱码问题
Set jmail = Server.CreateObject("JMAIL.Message") '建立发送邮件的对象
jmail.silent = true '屏蔽例外错误,返回FALSE跟TRUE两值j
jmail.logging = true '启用邮件日志
jmail.Charset = "GB2312" '邮件的文字编码为国标
jmail.ContentType = "text/html" '邮件的格式为HTML格式
jmail.ISOEncodeHeaders = false '是否进行ISO编码,默认为True(加上了这一句)
jmail.AddRecipient email '邮件收件人的地址
jmail.From = "163@163.com" '发件人的E-MAIL地址
jmail.MailServerUserName = "163@163.com" '登录邮件服务器所需的用户名
jmail.MailServerPassword = "11111" '登录邮件服务器所需的密码
jmail.Subject = title '邮件的标题
jmail.Body = content '邮件的内容
'jmail.Prority = 1 '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
jmail.Send("Smtp.163.com") '执行邮件发送(通过邮件服务器地址)
jmail.Close() '关闭对象
其实最后解决乱码的问题,还是使用的 codepage= 936 这个.