Jmail发邮件代码(测试成功)  

按照下面的说明调用SendMail函数!
Jmail 4.4.0 Free Edition可以到这里下载http://blog.ii-home.cn/detial.asp?id=60(注册方法,拷贝jmail.dll到system32文件夹,开始-运行-输入regsvr32 jmail.dll-确定)
代码   复制全部代码

<%
'按照下面方法调用
response.write SendMail("发邮件服务器,例smtp.126.com","你的登陆帐号","你的登陆密码","邮件标题","收件人地址","发件人姓名","邮件内容","发件人邮箱地址")

'****************************************************
    '参数说明
      'Subject     : 邮件标题
      'MailAddress : 发件服务器的地址,如smtp.163.com
      'LoginName     ----登录用户名(不需要请填写"")
      'LoginPass     ----用户密码(不需要请填写"")
      'Email       : 收件人邮件地址
      'Sender      : 发件人姓名
      'Content     : 邮件内容
      'Fromer      : 发件人的邮件地址
    '****************************************************
      Public Function SendMail(MailAddress, LoginName, LoginPass, Subject, Email, Sender, Content, Fromer)
       On Error Resume Next
        Dim JMail
          Set jmail = Server.CreateObject("JMAIL.Message") '建立发送邮件的对象
            jmail.silent = true '屏蔽例外错误,返回FALSE跟TRUE两值j
            jmail.Charset = "GB2312" '邮件的文字编码为国标
            jmail.ContentType = "text/html" '邮件的格式为HTML格式
            jmail.AddRecipient Email '邮件收件人的地址
            jmail.From = Fromer '发件人的E-MAIL地址
            jmail.FromName = Sender
              If LoginName <> "" And LoginPass <> "" Then
                JMail.MailServerUserName = LoginName '您的邮件服务器登录名
                JMail.MailServerPassword = LoginPass '登录密码
              End If
            jmail.Subject = Subject '邮件的标题
            JMail.Body = Content
            JMail.Priority = 1'邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
            jmail.Send(MailAddress) '执行邮件发送(通过邮件服务器地址)
            jmail.Close() '关闭对象
        Set JMail = Nothing
        If Err Then
            SendMail = Err.Description
            Err.Clear
        Else
            SendMail = "邮件发送完毕!"
        End If
      End Function
%>
......................................................................................................................
jmail  jmail是一种服务器端的邮件发送组件,和个人用的客户端邮件软件不一样的。jmail是在服务器上给程序用来发邮件用的,除了软件编程人员,其他人一般平常用不上。
  jmail是一个第三方邮件操作组件,通常位于web服务器端,和站点程序紧密配合来接收及提交邮件到邮件服务器的控件,让网站拥有发送邮件既接收邮件的功能
  与此相同的还有CDONTS.NewMail,Persits.MailSender,IISmail.Iismail等等,他们唯一区别就是jmail只需要注册一个dll组件即可被调用,而其他则需要在iis上设置发布smtp服务器
  (1)Body(信件正文) : 字符串
  如:JMail.Body = "这里可以是用户填写的表单内容,可以取自Form。"
  (2)Charset(字符集,缺省为"US-ASCII") : 字符串
  如:JMail.Charset = "US-ASCII"
  (3)ContentTransferEncoding : 字符串
  指定内容传送时的编码方式,缺省是"Quoted-Printable"
  如:JMail.ContentTransferEncoding = "base64"
  (4)ContentType(信件的contentype. 缺省是"text/plain") : 字符串
  如果你以HTML格式发送邮件, 改为"text/html"即可。
  如:JMail.ContentType = "text/html"
  (5)Encoding : 字符串
  设置附件编码方式(缺省是"base64)。 可以选择使用的是"base64", "uuencode" or "quoted-printable" 如:JMail.Encoding = "base64"
  (6)Log(Jmail创建的日志,前提loging属性设置为true,见下面) : 字符串
  如:使用Response.Write( JMail.Log )语句列出日志信息。
  (7)Logging(是否使用日志) : 布尔型
  如:JMail.Logging = true
  (8)Recipients : 字符串
  只读属性,返回所有收件人
  如:Response.Write( "" + JMail.Recipients + "" );
  (9)ReplyTo(指定别的回信地址) : 字符串
  如:JMail.ReplyTo = "qiao198@hotmail.com"
  (10)Sender( 发件人的邮件地址) : 字符串
  如:JMail.Sender = "qiao198@21cn.com"
  (11)SenderName(发件人的姓名) : 字符串
  如:JMail.SenderName = "一克"
  (12)ServerAddress(邮件服务器的地址) : 字符串
  你可以指定多个服务器,用分号点开。可以指定端口号。
  如果serverAddress保持空白,JMail会尝试远程邮件服务器,然后直接发送到服务器上去。
  如:JMail.ServerAddress = "mail.21cn.net.cn"
  (13)Subject(设定邮件的标题,可以取自Form。):字符串
  如:JMail.Subject = "客户反馈表单"
  (14)添加文件附件到邮件
  如:JMail.AddAttachment( "c:anyfile.zip" )
  (15)AddCustomAttachment( FileName, Data )
  添加自定义附件.
  如:JMail.AddCustomAttachment( "anyfile.txt", "Contents of file" );
  (16)AddHeader( Header, Value )
  添加用户定义的信件标头。
  如:JMail.AddHeader( "Originating-IP","192.158.1.10" );
  (17)AddRecipient(收件人):字符串
  如:JMail.AddRecipient( "qiao198@hotmail.com" );
  (18)AddRecipientBCC( Email ),密件收件人:
  如:JMail.AddRecipientBCC( "qiao198@hotmail.com" );
  (19)AddRecipientCC( Email ) ,抄送收件人:
  如:JMail.AddRecipientCC( "" )
  (20)AddURLAttachment( URL, 文档名)
  下载并添加一个来自url的附件. 第二个参数"文档名", 用来指定信件收到后的文件名。
  如:JMail.AddURLAttachment( "http://www.chinabs.net/jmail.zip", "jmail" )
  (21)AppendBodyFromFile( 文件名) ,将文件作为信件正文:
  如:JMail.AppendBodyFromFile( "c:anyfile.txt" )
  (22)AppendText( Text )
  追加信件的正文内容,比如增加问候语或者其它信息。
  如:JMail.AppendText( "欢迎访问本站!" )
  (23)Close() ,强制JMail关闭缓冲的与邮件服务器的连接:
  如:JMail.Close()
  (24)发送【调用格式:objJMail.Send(SMTPServerAddress[:Port])】
  例:JMail.Send("smtp.163.com")
  Jmail具有以下特点:
  (1)可以发送附件;
  (2)详细日志能力,便于你查看问题所在;
  (3)设置邮件发送的优先级;
  (4)支持多种格式的邮件发送,比如说以HTML或者TXT的方式发送邮件。这是个免费的组件。
  (5)密件发送/(CC)抄送/紧急信件发送能力;
  (6)最关键的就是--免费的组件,不必花钱,所以非常值得使用。
  这是在服务器上安装的邮件组件 不是病毒

.........................................................................................................................

例子
............................................................................................................................
<%
'==================================================
'                    参 数 设 置
'==================================================
'收信人电子邮件地址
'表单里的内容将发送到这个信箱中
myemail        ="12631176@qq.com"
'收信人姓名
myname        ="qt56"
'所使用的SMTP服务器
smtpserver    ="SMTP.126.COM"
'如果SMTP服务器需要发信认证,则设置登录SMTP服务器的用户名和密码
smtpuser    ="************@126.com"
smtppwd        ="****************"
'与相应SMTP服务器对应的邮件地址
'注意:很多SMTP服务器除了要验证用户名和密码外,还要验证发件人地
'址,比如163.net的SMTP服务器在检查发信人邮件地址是不是以163.net
'结尾,否则不予发送,因此,使用相应的信箱做为发信人信箱是必要的
smtpemail    ="yongchuang@126.com"
'==================================================
'                    程 序 开 始
'==================================================
tname        =Request("t1")
temail        =Request("t2")
tother        =Request("t3")
tsubject    =Request("t4")
tbody        =Request("t5")
if tname <> "" and temail <> "" then
set jmail=server.CreateObject ("jmail.message")
jmail.Silent    =true
jmail.Charset    ="gb2312"
if smtpemail <> "" then
    jmail.From    ="yongchuang@126.com"
else
    jmail.From    =temail
end if
jmail.FromName    =tname
jmail.ReplyTo    =temail
jmail.Subject    ="网上提交:" & tsubject
jmail.AddRecipient myemail,myname
jmail.Body        =tbody & vbcrlf & vbcrlf & "其他联系方式:" & tother
jmail.MailServerUserName =smtpuser
jmail.MailServerPassWord =smtppwd
isgo=jmail.Send(smtpserver)
if isgo then
    msg="提交成功!谢谢你的支持。"
else
    msg="发送失败!请检查您的邮件地址是否填写正确。"
end if
jmail.Close
set jmail=nothing
end if
%>



与qt56联系





<%=msg%>

姓名:



电子邮件:



其他联系方式:



主题:



正文:








....................................................................
1、JMAIL的版本是多少?
JMAIL 是免费的4.0版本

2、JMAIL 需要单独的发信服务器吗?
JMAIL 需要设置单独的发信服务器
如:set mail=server.CreateObject("jmail.SMTPMail")
mail.ServerAddress = "mail.domain.com"

3、为什么使用jmail发信时发信失败?
最可能的原因是你指定的发信服务器需要发信认证,而你在程序中没有指定发信用户名和密码,具体的编码为:
set mail=CreateObject("jmail.Message")
mail.Charset ="gb2312"
mail.From ="from@hichina.com"
mail.AddRecipient "to@hichina.com"
mail.MailDomain="mail.hichina.com"
mail.MailServerUserName = " from @hichina.com"
mail.MailServerPassWord = "****"
mail.subject=”test”
mail.body= “欢迎”
'On Error Resume Next
mail.Send("mail.hichina.com")
mail.close()
set mail=nothing

4、Jmail 能发送附件吗?
可以
mail.AddAttachment (replace(server.MapPath("/test.doc"),"",""))

5、 Jmail 可以发送Html格式的邮件吗?
可以,具体看使用手册。

6、Jmail组件实例。

(1)发信服务器需要认证(万网邮箱适用)
<%
set mail=CreateObject("jmail.Message")
mail.Charset ="gb2312"
mail.From ="test@hichina.com"    '发送人的邮件地址
mail.AddRecipient "test@hichina.com"   '接收者的邮件地址
mail.MailDomain="mx.hichina.com"   '改成可以正常使用的邮件服务器的IP或域名
mail.MailServerUserName = "test@hichina.com"  '邮件服务器的邮箱地址
mail.MailServerPassWord = "*****"   '邮件服务器的邮箱密码
mail.subject="标题"     '标题
mail.body= "正文"     '正文
On Error Resume Next
mail.Send("mx.hichina.com")    '改成可以正常使用的邮件服务器的IP或域名
mail.close()
set mail=nothing
response.write "发送成功"
%>

(2)发信服务器不需要认证
<%
set mail=server.CreateObject("jmail.SMTPMail")
mail.Charset="gb2312"
mail.ServerAddress = "mx.hichina.com"   '改成可以正常使用的邮件服务器的IP或域名
mail.Sender="test@hichina.com"     '发送人的邮件地址
mail.SenderName="test"
mail.AddRecipient("test@sina.com")   '接收者的邮件地址
mail.Subject ="标题"     '标题
mail.body="正文"     '正文
mail.Priority="1"
'On Error Resume Next
mail.Execute()
mail.Close
Set mail=nothing
response.write "发送成功"
%>

7、Jmail发信的实例,模块化随时调用
一个用jmail发信的过程,及使用方法. 发信时,直接调用这个过程就行了。  
  <%
  dim str,HtmlBody
  HtmlBody="

I Love 2Yup!

"
  str=JmailSend( "hello","ILoveYou",true,HtmlBody,"youname@domain.com",youname@sina.com,
  "hello","smtp.sina.com.cn","hello","Password")    
  if str="Y" then
   response.write("发送成功")
  else
   response.write("发送失败!请重试!")
  end if
  '=================================================
  '函数名:JmailSend
  '作 用:用Jmail发送邮件
  '参 数:Subject 邮件标题
  ' Body 邮件内容
  ' Body 邮件内容
  ' isHtml 是否发送Html格式邮件 (true 是)
  ' HtmlBody Html格式邮件内容
  '    MailTo 收件人Email
  ' From 发件人Email
  ' FromName 发件人姓名
  ' Smtp smtp服务器
  ' Username 邮箱用户名
  ' Password 邮箱密码
  '返回值:JmailSend="N" 发送失败 JmailSend="Y" 发送成功
  '~~~~~~~~~~suercool~~~~~
  
  '=================================================
   function JmailSend(Subject,Body,isHtml,HtmlBody,MailTo,From,FromName,Smtp,Username,Password)
   dim JmailMsg
   set JmailMsg=server.createobject("jmail.message")
   JmailMsg.mailserverusername=Username
   JmailMsg.mailserverpassword=Password
  
   JmailMsg.addrecipient MailTo
   JmailMsg.from=From
   JmailMsg.fromname=FromName
  
   JmailMsg.charset="gb2312"
   JmailMsg.logging=true
   JmailMsg.silent=true
  
   JmailMsg.subject=Subject
   JmailMsg.body=Body
   if isHtml=true then JmailMsg.htmlbody=HtmlBody
  
   if not JmailMsg.send(Smtp) then
   JmailSend="N"
   else
   JmailSend="Y"
   end if
   JmailMsg.close
   set JmailMsg=nothing
  end function
  %>




[本日志由 wang 于 2009-10-09 11:56 AM 编辑]
上一篇: isapi_rewrite使用方法
下一篇: 学生红、蓝分制度之评价体系
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: 4043
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 300 字 | UBB代码 开启 | [img]标签 关闭