ASP用JMail、CDO发送邮件

前一段时间有发过一个简单的JMAIL邮件发邮件的代码,今天就把这个代码做一个具体的注解,并增加了另外两个格式的代码,并举几个简单的例子:
首先是jmail.smtpmail的核心代码:
 程序代码

<%
  Set jmail = Server.CreateObject("JMAIL.SMTPMail")   '创建一个JMAIL对象
  jmail.silent = true   'JMAIL不会抛出例外错误,返回的值为FALSE跟TRUE
  jmail.logging = true   '启用使用日志
  jmail.Charset = "GB2312"  '邮件文字的代码为简体中文
  jmail.ContentType = "text/html"  '邮件的格式为HTML的
  jmail.ServerAddress = "Server Address"   '发送邮件的服务器
  jmail.AddRecipient Email    '邮件的收件人
  jmail.SenderName = "SenderName"    '邮件发送者的姓名
  jmail.Sender = "Email Address"    '邮件发送者的邮件地址
  jmail.Priority = 1   '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
  jmail.Subject = "Mail Subject"  '邮件的标题
  jmail.Body = "Mail Body"   '邮件的内容
  jmail.AddRecipientBCC Email   '密件收件人的地址
  jmail.AddRecipientCC Email   '邮件抄送者的地址
  jmail.Execute()   '执行邮件发送
  jmail.Close    '关闭邮件对象
%>

现在还有很多程序是使用这种方式来发信,这种方式有一个很大的缺陷,那就是发信是使用服务器本地smtp服务发出的,并没有通过任何smtp身份验证,
如果服务器设置了需要使用身份验证,则发信会失败。现在因为反垃圾邮件的需要,越来越多的服务器开始注重这方面的设置问题,如果你使用此种方法发信突然出现不正常,
则可能是服务器限制了匿名发信,上面的代码则就不会正常运作了。

这种方法我们不建议使用,但是现在还有很多asp程序使用此种方法,可能还是可以正常运作的,但是很难保证以后会一直正常,并且某些邮件服务器会拒收这种方法发出的信件,所以如果有可能的话,尽量不要使用这种方式。

w3 Jmail4.3组件重新设计了其内部结构——使用Message对象代替原来的单一对象Jmail.smtpmail发送邮件,有些方法需要身份验证的(如163、yahoo等),可以用下面的方法解决:
 程序代码

<%
     Set jmail = Server.CreateObject("JMAIL.Message")   '建立发送邮件的对象
     jmail.silent = true    '屏蔽例外错误,返回FALSE跟TRUE两值j
     mail.logging = true   '启用邮件日志
     jmail.Charset = "GB2312"     '邮件的文字编码为国标
     jmail.ContentType = "text/html"    '邮件的格式为HTML格式
     jmail.AddRecipient Email     '邮件收件人的地址
     jmail.From = "Email From for Sender"   '发件人的E-MAIL地址
     jmail.MailServerUserName = "UserName of Email"     '登录邮件服务器所需的用户名
     jmail.MailServerPassword = "Password of Email"     '登录邮件服务器所需的密码
     jmail.Subject = "Mail Subject"    '邮件的标题 
     jmail.Body = "Mail Body"      '邮件的内容
     jmail.Prority = 1      '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
     jmail.Send("Server Address")     '执行邮件发送(通过邮件服务器地址)
     jmail.Close()   '关闭对象
%>

使用这段代码发信,是当前最为稳定,也最为适用的发信方法,我们推荐使用Jmail发信的客户,使用此种方法来发信。

再讲一下 微软自带的CDONTS组件的发信的方法:
 程序代码

<%
    Set cdomail = Server.CreateObject("CDONTS.NewMail")  '建立邮件对象
    cdomail.Subject = "Mail Subject"   '邮件标题
    cdomail.From = "Sender's Mail"   '发件人的地址
    cdomail.To = "Email will from"   '收件人的地址
    cdomail.Body = "Mail Body"   '邮件的内容
    cdomail.Send    '执行发送
%>

我们写程序,一般情况下都是说要代码模块化,这样方便维护,同时也方便移植。因此,我在这里将这个发邮件的写成一个子程,在调用的时候可以直接调用(当然,如果你高兴写成函数的话也是可以的,这个主要是看个人兴趣):
推荐


代码如下:

<%
  '参数说明
  'Subject     : 邮件标题
  'MailAddress : 发件服务器的地址,如smtp.163.com
  'Email       : 收件人邮件地址
  'Sender      : 发件人姓名
  'Content     : 邮件内容
  'Fromer      : 发件人的邮件地址

Sub SendAction(subject, mailaddress, email, sender, content, fromer) 
      Set jmail = Server.CreateObject("JMAIL.SMTPMail")   '创建一个JMAIL对象
      jmail.silent = true   'JMAIL不会抛出例外错误,返回的值为FALSE跟TRUE
      jmail.logging = true   '启用使用日志
      jmail.Charset = "GB2312"  '邮件文字的代码为简体中文
      jmail.ContentType = "text/html"  '邮件的格式为HTML的
      jmail.ServerAddress = mailaddress   '发送邮件的服务器
      jmail.AddRecipient Email    '邮件的收件人
      jmail.SenderName = sender   '邮件发送者的姓名
      jmail.Sender = fromer    '邮件发送者的邮件地址
      jmail.Priority = 1   '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
      jmail.Subject = subject  '邮件的标题
      jmail.Body = content   '邮件的内容
      '由于没有用到密抄跟抄送,这里屏蔽掉这两句,如果您有需要的话,可以在这里恢复
      'jmail.AddRecipientBCC Email   '密件收件人的地址
      'jmail.AddRecipientCC Email   '邮件抄送者的地址
      jmail.Execute()   '执行邮件发送
      jmail.Close    '关闭邮件对象
  End Sub

'调用此Sub的例子
  Dim strSubject,strEmail,strMailAdress,strSender,strContent,strFromer
  strSubject     = "这是一封用JMAIL发送的测试邮件"
  strContent     = "JMail组件发送测试成功!"
  strEmail       = "runbing@eyou.com"
  strFromer      = "runbing@eyou.com"
  strMailAddress = "mail.ubbcn.com"

Call SendAction (strSubject,strMailaddress,strEmail,strSender,strContent,strFromer)

%>

(0)

相关推荐

  • Jmail发送邮件与带附件乱码解决办法分享

    Jamil发送邮件的具体用法: 首先,我们要先下载Jamil.dll的组件,然后添加引用using jmail,然后再本机或者服务器上注册一下 将jmail.dll拷贝到服务器的system32目录下,开始-运行-cmd-输入regsvr32 jmail.dll,注册成功,然后写代码 代码如下(方法) 复制代码 代码如下: using jmail;    protected void sendMail(String sender, String senderMail, String receiv

  • Jmail发送邮件工具类分享

    好久没更新博客了,实在是拖延症严重啊,好可怕,先更新个工具类吧,之前写的发送邮件的小工具,话不多说上代码 import lombok.extern.slf4j.Slf4j; import java.util.Properties; import javax.mail.*; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.intern

  • Jmail 图文安装教程 asp在线发送邮件组件

    常用组件主要包括Aspjpeg.Jmail.LyfUpload.动易.ISAPI_ReWrite等,本文就仅说这5种,其他类型组件可以根据需要安装,安装方法以此类推. 下载Jmail,现在免费版本的最高版是Jmail4.5,点击后面的链接下载:点此下载JMail4.5: 下载解压到任意目录,或者直接执行JMail45_free.msi: 执行后开始安装,出现安装界面如下图点击Next先选择"I accept the license agreement" ,再点击Next  出于安全考虑

  • Jmail组件发送邮件之绝对能用的函数

    大致如下: 1,POP3对象,是对POP3邮件接收服务器的操作.2,Messages对象,是有关邮件集合的对象.3,Message对象,是有关邮件的对象,其是Jmail组件最常用的对象,能发送邮件信息,也能接收邮件信息.4,Header对象,是与邮件头相关的对象.5,Recipients对象,是有关接收邮件集合的对象.6,Recipient对象,是有关接收邮件的对象.7,Attachments对象,是有关邮件附件集合的对象.8,Attachment对象,是有关邮件附件的对象.9,MailMerg

  • asp+JMAIL实现发送邮件

    本文利用asp和JMAIL实现了发送邮件,大家是不是很好奇这到底是怎么实现的呐,和小编一起一探究竟吧! Global.asa文件 什么是Global.asa 文件?它其实是一个可选文件,程序编写者可以在该文 件中指定事件脚本,并声明具有会话和应用程序作用域的对象.该文件的内容不是用来给用户显示的,而是用来存储事件信息和由应用程序全局使用的对象.该 文件的名称必须是 Global.asa 且必须存放在应用程序的根目录中.每个应用程序只能有一个 Global.asa 文件.内容如下: <script

  • .net jMail邮件发送(含抄送、密送、多发、日志记录)实例代码

    jmail是一个第三方邮件操作组件,通常位于web服务器端,实现收邮件及发邮件功能(客户端用Foxmail这类就很好了).可以利用它轻松实现发邮件.抄送.密送.多发.日志记录及收邮件功能.本章要讲的,就是:发邮件.抄送.密送.多发.日志记录. 一.组件准备下载JMail44_pro并安装(记下安装路径) 找到安装路径,将其中的jmail.dll复制到项目中 二.核心发送代码新建MailAPI.cs,并输入以下代码 复制代码 代码如下: using System;using System.Coll

  • asp jmail发邮件 详细解析第1/2页

    发个个比较详细的asp与jmail 实现发送邮件的代码,前一段时间有发过一个简单的JMAIL邮件发邮件的代码,今天就把这个代码做一个具体的注解,并增加了另外两个格式的代码,并举几个简单的例子: 首先是jmail.smtpmail的核心代码:   复制代码 代码如下: <%   Set jmail = Server.CreateObject("JMAIL.SMTPMail") '创建一个JMAIL对象   jmail.silent = true 'JMAIL不会抛出例外错误,返回的

  • Jmail发邮件的例子

    在Asp程序中用Jmail发邮件的比较多,主要是因为多数虚拟主机支持他,其它的支持的较少. 下面是一个Jmail发邮件的例子代码:  如果您在自己的机器上试,请下载 Jmail.dll ,下载解压后,双击Setup.bat 即可完成安装!  复制代码 代码如下: <% On error resume next Dim JMail, contentId Set JMail = Server.CreateObject("JMail.Message")  JMail.Charset =

  • ASP用JMail、CDO发送邮件

    前一段时间有发过一个简单的JMAIL邮件发邮件的代码,今天就把这个代码做一个具体的注解,并增加了另外两个格式的代码,并举几个简单的例子: 首先是jmail.smtpmail的核心代码:  程序代码 <%   Set jmail = Server.CreateObject("JMAIL.SMTPMail")   '创建一个JMAIL对象   jmail.silent = true   'JMAIL不会抛出例外错误,返回的值为FALSE跟TRUE   jmail.logging = 

  • 在ASP.NET Core 中发送邮件的实现方法(必看篇)

    前言 我们知道目前 .NET Core 还不支持 SMTP 协议,当我么在使用到发送邮件功能的时候,需要借助于一些第三方组件来达到目的,今天给大家介绍两款开源的邮件发送组件,它们分别是 MailKit 和 FluentEmail , 下面我对它们分别进行介绍. MailKit 在 ASP.NET Core 中,可以使用 MailKit 来发送邮件,它支持跨平台,并且支持 IMAP, POP3, SMTP 等协议. 你可以使用下面的方式安装: Install-Package MailKit 下面是

  • C#使用CDO发送邮件的方法

    本文实例讲述了C#使用CDO发送邮件的方法.分享给大家供大家参考.具体分析如下: CDO是一个名为Microsoft CDO For Exchange 2000 Library的COM组件,我们可以用它来连接SMTP Server,使用用户名/密码验证发送邮件. /** * C# Programmers Pocket Consultant * Author: Gregory S. MacBeth * Email: gmacbeth@comporium.net * Create Date: Jun

  • ASP中实现定时发送邮件的代码分享

    现在的这个项目需要用asp做定时邮件发送,好多人都说asp没有这样的功能. 其实我在以前的一篇文章已经做过详细的解释了,不过那个是定时任务,基本思路是一样的. 参考:ASP中实现执行定时任务的方法 这里我们使用JMail组件的方式来做,邮件的内容为单个网页,可以自由定制. 下面我们看看定时邮件发送的代码: 复制代码 代码如下: Function getHTTPPage(url)     dim objXML     set objXML=createobject("MSXML2.SERVERXM

  • asp通过JMAIL实现通用发送函数

    <% '****************************** '函数:SendMail(MailtoAddress,MailtoName,Subject,MailBody,FromName,MailFrom,Priority) '参数:MailtoAddress,接收邮件地址:MailtoName,接收者姓名:ubject,主题:ailBody,邮件内容:FomName,主送姓名:ailFrom,主送邮件地址:riority,邮件等级 '作者:阿里西西 '日期:2007/7/13 '描述

  • 天枫常用的ASP函数封装如下

    复制代码 代码如下: <% '------------------------------------- '天枫ASP class v1.0,集常用asp函数于一体 '天枫版权所有'QQ:76994859 EMAIL:Chenshaobo@gmail.com '所有功能函数名如下: ' StrLength(str) 取得字符串长度 ' CutStr(str,strlen) 字符串长度切割 ' CheckIsEmpty(tstr) 检测是否为空 ' isInteger(para) 整数检验 ' C

  • 推荐下天枫常用ASP函数封装,推荐大家使用

    复制代码 代码如下: <% '------------------------------------- '天枫ASP class v1.0,集常用asp函数于一体 '天枫版权所有http://www.52515.net 'QQ:76994859 EMAIL:Chenshaobo@gmail.com '所有功能函数名如下: ' StrLength(str) 取得字符串长度 ' CutStr(str,strlen) 字符串长度切割 ' CheckIsEmpty(tstr) 检测是否为空 ' isI

随机推荐