`

VB 调用 Jmail 组件发邮件

    博客分类:
  • vb
阅读更多
Option Explicit

Sub SendMail(Optional ByVal sSubject As String, Optional ByVal sBody As String, Optional ByVal sFileName As String)

Dim Jmail
Set Jmail = CreateObject( "jmail.Message ")
If sFileName < > " " Then Jmail.AddAttachment sFileName '附件

Jmail.Charset = "gb2312 "
Jmail.Silent = False
Jmail.Priority = 1 '邮件状态,1-5 1为最高
Jmail.MailServerUserName = "2688i " 'Email帐号
Jmail.MailServerPassWord = "******* " 'Email密码

Jmail.FromName = "邮件 " '发信人姓名
Jmail.From = "2688i@163.com " '发邮件地址地址

Jmail.Subject = sSubject '主题
Jmail.AddRecipient "2688i@163.com " '收信人地址
Jmail.Body = sBody '信件正文

Jmail.Send ( "smtp.163.com ") 'SMTP服务器,如smtp.sohu.com

Set Jmail = Nothing

End Sub

Sub
Command1_Click()
SendMail
"测试 ", "我爱你 ", "这里填附件地址 "
MsgBox "OK "
End Sub


(1)Body(信件正文) : 字符串
如:JMail.Body = "这里可以是用户填写的表单内容,可以取自From。"

(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 = "anyother@mailhost.com"

(10)Sender( 发件人的邮件地址) : 字符串
如:JMail.Sender = "sender@mailhost.com"

(11)SenderName(发件人的姓名) : 字符串
如:JMail.SenderName = "一克"

(12)ServerAddress(邮件服务器的地址) : 字符串
你可以指定多个服务器,用分号点开。可以指定端口号。
如果serverAddress保持空白,JMail会尝试远程邮件服务器,然后直接发送到服务器上去。
如:JMail.ServerAddress = "mail.263.net.cn"

(13)Subject(设定邮件的标题,可以取自From。):字符串
如: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.168.10.10" );

(17)AddRecipient(收件人):字符串
如:JMail.AddRecipient( "info@dimac.net" );

(18)AddRecipientBCC( Email ),密件收件人:
如:JMail.AddRecipientBCC( "anyone@mailhost.com" );

(19)AddRecipientCC( Email ) ,抄送收件人:
如:JMail.AddRecipientCC( "anyone@mailhost.com" )

(20)AddURLAttachment( URL, 文档名)
下载并添加一个来自url的附件. 第二个参数"文档名", 用来指定信件收到后的文件名。
如:JMail.AddURLAttachment( "http://java2000.wol.com.cn/perl/files/jmail.zip", "jmail" )

(21)AppendBodyFromFile( 文件名) ,将文件作为信件正文:
如:JMail.AppendBodyFromFile( "c:anyfile.txt" )

(22)AppendText( Text )
追加信件的正文内容,比如增加问候语或者其它信息。
如:JMail.AppendText( "欢迎访问本站!" )

(23)Close() ,强制JMail关闭缓冲的与邮件服务器的连接:
如:JMail.Close()

(24)Execute() ,执行邮件的发送
如:JMail.Execute()

Private Sub SendMail()

Dim jmail As New SMTPMail

Dim Conn As New ADODB.Connection

Dim Rst As New ADODB.Recordset, Rst1 As New ADODB.Recordset

Dim strRec As String, strRecCC As String

'On Error GoTo Err:

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Password=dir941421;User ID=kiss;Data Source=" & App.Path & "\OAData\OAData.mdb;Persist Security Info=True;Jet OLEDB:System database=" & App.Path & "\OAData\Secured.mdw"

'检测是否有要发送的信件

Rst.CursorLocation = adUseClient

Rst.Open
"Select * From ztblMailBox Where BoxNum = 2", Conn, adOpenDynamic, adLockOptimistic, adCmdText

Do While Not Rst.EOF

'有要发送的信件

'先改变状态为已经发送失败,等发送成功后改变为成功

Conn.Execute "Update ztblMailBox Set BoxNum=3,SendState=False Where Id=" & Rst!id

'开始发送邮件Rst.CursorLocation = adUseClient

Rst1.Open "Select * From ztblMailConfig Where UserCode='" & Rst!UserCode & "'", Conn, adOpenDynamic, adLockOptimistic, adCmdText

If Rst1.EOF = False Then '有信箱存在

jmail.Sender = Rst1!MailName '取出发送者信箱名称

jmail.ServerAddress = Rst1!SmtpServer '服务器地址

jmail.ServerPort = "25"

jmail.SenderName = Rst1!Sender '取出发信人的姓名:汉字的也可以

jmail.Message.From = Rst1!MailName '来之何方

jmail.Message.FromName = Rst1!Sender '取出发信人的姓名:汉字的也可以

jmail.Message.Subject = Rst!Topic '标题

jmail.Message.Body = Rst!Content '内容

jmail.ClearAttachments '清除原来的附件

If FolderManager.FolderExists(Rst!Accessory) Then '判断文件夹是否存在

Set cFolder = FolderManager.GetFolder(Rst!Accessory)

Set cFile = cFolder.Files '建立文件集合

For Each FileInfo In cFile

jmail.Message.AddAttachment Rst!Accessory &
"\" & FileInfo.Name

Next

End If

jmail.ClearRecipients '清除原来的地址



If Not IsNull(Rst!SendTo) Then

strRecCC = Rst!SendTo

If InStr(1, strRecCC, ";", vbTextCompare) <> 0 Then

strRec = Left(strRecCC, InStr(1, strRecCC, ";", vbTextCompare) - 1)

strRecCC = Mid(strRecCC, InStr(
1, strRecCC, ";", vbTextCompare) + 1)

If InStr(1, strRecCC, "@", vbTextCompare) <> 0 Then

strRecCC = Replace(strRecCC, ";", "", 1, -1, vbTextCompare)

End If

End If

End If


jmail.Message.AddRecipient strRec

If strRecCC <> "" Then jmail.Message.AddRecipientCC strRecCC


jmail.Message.MailServerUserName = Left$(Rst1!MailName, InStr(
1, Rst1!MailName, "@") - 1) '服务器的用户名称

jmail.Message.MailServerPassWord = Rst1!MailPass '密码验证


jmail.ContentTransferEncoding = "base64"

jmail.Encoding = "base64"

jmail.Message.Charset = "gb2312"

jmail.Message.Silent = True

jmail.Message.ContentType = "multipart/html" '文本还是网页

jmail.Logging = False '是否记录日志

If jmail.Message.Send(Rst1!SmtpServer) Then

Conn.Execute "Update ztblMailBox Set SendState=True Where Id=" & Rst!id

End If

End If

Rst1.Close

Rst.MoveNext

DoEvents

Loop

Err:

Rst.Close

jmail.Close

Set jmail = Nothing '彻底释放Jmail

Unload Me

End Sub

 

分享到:
评论

相关推荐

    VB调用jmail发电子邮件的示例源码.rar

    VB调用jmail发电子邮件的示例源码,如果你想使用jmail组件,但又不知道怎么调用,这个VB代码可以帮助你快速上手,里面包括了jmail.dll,附有jmail官方使用手册,双击reg.bat批处理文件可自动将jmail.dll注册到...

    vb jmail 发送邮件

    使用jmail组件在VB环境中发送邮件不仅简化了邮件发送的复杂度,还提高了邮件发送的效率和可靠性。通过上述环境配置和代码示例,开发者可以轻松地在其项目中集成邮件发送功能,满足自动通知、报告分发等各种场景下的...

    VB+JMAIL邮件发送样例

    总结来说,VB+JMail邮件发送涉及的主要知识点包括:VB编程基础、JMail组件的使用、邮件属性设置、邮件发送过程以及VB项目文件结构。通过理解和应用这些知识,开发者可以创建出能够发送邮件的VB应用程序。

    vb jmail发送邮件

    在VB(Visual Basic)开发环境中,使用JMail组件发送邮件是一种常见的实现方式。JMail是一款功能强大的邮件组件,它提供了丰富的API,使得开发者能够轻松地在应用程序中集成邮件发送功能。下面将详细介绍如何利用VB...

    VB使用jMail组件发邮件源代码

    内容索引:VB源码,网络相关,发邮件,jMail jmail组件应用是很广泛的,使用方法简单,本程序是用VB调用此组件进行邮件发送,仅实现了发送核心代码,部分功能请根据你的需要扩展,里面有一个model方法类是为本发送程序...

    64位windows服务器系统jmail组件

    在64位Windows 2003 Server服务器系统中,JMail组件扮演着重要的角色,它是一个用于发送电子邮件的ActiveX控件,为开发者提供了便捷的邮件发送功能。本文将详细阐述JMail组件的特性、安装与使用方法,以及针对64位...

    VB6+Jmail简单的邮件收发小程序

    对于发送邮件,可以通过调用Jmail的SendMail方法,指定邮件主题、正文和附件等信息。而对于接收邮件,可以使用ReceiveMail方法,设定POP3或IMAP4服务器信息,进行邮件的下载和查看。 MailDemo,这个文件名可能代表...

    jmail组件,用于通过pb\vb\delphi\.net\java等工具调用,发送邮件

    jmail组件,用于通过pb\vb\delphi\.net\java等工具调用,发送邮件

    vb(JMail)接收邮件(可下载附件)

    总的来说,这段VB代码是学习如何使用JMail组件和POP3协议进行邮件处理的好例子,特别是对于需要处理大量邮件附件的场景。然而,对于不支持POP3服务的邮箱,如QQ邮箱,可能需要寻找其他方法,比如使用IMAP(Internet ...

    JMail组件完整版

    JMail组件是一款强大的电子邮件发送工具,常用于ASP.NET和VB.NET等.NET框架下的应用程序中,为开发者提供便捷的邮件发送功能。标题中的“JMail组件完整版”表明这是一个包含所有功能的版本,可能是包含了专业版和...

    JMAIL4.0_VB源码

    开发者可以通过查阅这个文本文件,了解如何在VB程序中调用和配置JMAIL4.0的各种功能,比如设置SMTP服务器、发件人邮箱、认证信息,以及如何创建和发送邮件对象等。 在VB项目中集成JMAIL4.0,开发者可以提高邮件处理...

    Jmail简单发邮件

    首先,我们来看标题"Jmail简单发邮件",这暗示我们将学习如何通过Jmail组件实现邮件发送。Jmail允许开发者通过SMTP服务器发送邮件,支持HTML格式的邮件内容,还能处理附件,使得邮件功能更加灵活。它的简单性在于...

    jmail组件很好用的ASP.NET收发邮件组件

    6. **API调用**:jmail提供了一套完整的API,开发者可以通过C#、VB.NET等语言直接调用来实现邮件功能。 总的来说,jmail组件为ASP.NET开发者提供了一个强大且易于使用的邮件解决方案,减少了开发中的技术难度,提高...

    2015年8月最新VB用SMTP发邮件程序示例含jmail.dll

    本资源“2015年8月最新VB用SMTP发邮件程序示例含jmail.dll”是针对VB程序员设计的一个实例,帮助他们利用SMTP(Simple Mail Transfer Protocol)协议发送电子邮件。 SMTP是互联网上标准的邮件传输协议,用于将邮件...

    Jmail实现读取服务器邮件和查看附件

    本文将深入探讨如何使用VB(Visual Basic)编程语言和Jmail组件来实现从邮件服务器读取邮件以及查看邮件附件的功能。 首先,Jmail是一款强大的邮件处理组件,它允许开发者在Windows应用程序中集成发送、接收邮件及...

    WinForm使用Jmail开发的邮件发送工具

    "WinForm使用Jmail开发的邮件发送工具"就是一个这样的案例,它利用.NET Framework的WinForm界面结合Jmail组件来实现高效且灵活的邮件发送服务。 首先,WinForm是微软.NET Framework提供的一种用于构建桌面应用的...

    jmail组件的使用

    总结,Jmail组件凭借其强大的邮件处理能力和易用性,成为了开发者在构建邮件发送功能时的得力助手。通过理解和掌握它的核心功能和使用步骤,可以有效地提高开发效率,实现高效、专业的邮件通信。

    JMail45组件,很有用哦

    开发者可以通过调用不同的方法和属性来设置发件人、收件人、抄送人、密送人、主题、正文以及附件等邮件要素。此外,JMail45还提供了一些高级特性,如邮件队列管理、邮件发送报告和错误处理机制,使得邮件发送更加...

    真正可以用的利用JMAIL组件实现群发邮件的源代码

    我自己编写的利用jmail组件收发邮件的VB源代码.可以实现群发,将多个收件人添加到列表即可, 还可以对收件人列表进行保存和载入.. 程序绝对可以用,目前我自己用的就是这个. 内部代码无论是新手还是老手,都有其借鉴和...

    jmail发送邮件

    本文将基于给定的文件信息,深入解析使用JMail组件发送邮件的关键知识点,包括代码解读、配置参数、工作原理及注意事项。 ### JMail组件简介 JMail是一款功能强大的ASP邮件组件,它简化了电子邮件的发送过程,使得...

Global site tag (gtag.js) - Google Analytics