注册 登录
Office中国论坛/Access中国论坛 返回首页

iamee的个人空间 http://www.office-cn.net/?68097 [收藏] [复制] [分享] [RSS]

日志

2011-12-17

已有 1213 次阅读2011-12-17 00:29 |个人分类:Access&Excel

在上一篇 VBA 中发送邮件(使用 Outlook)中,VBA 通过 Outlook 来发邮件不仅频繁的弹出提示窗口要求确定,而且需要在 Outlook 中配置好,不能随意使用邮件服务器。对此,是否有相当于 JavaMail 那样的第三方组件呢?Google 帮忙,果然找到一个,名曰 w3 JMail,J 为首,其实与 Java 无任何关系。

  可以在网络上搜索 w3 JMail Personal V4.3,或者直接到官网 http://www.dimac.net 去下载,w3 Jmail 的授权方式是免费的。默认位置安装好 JMail 之后,是在 C:\Program Files\Dimac\w3JMail4 可以看到 Examples 目录、jmail.dll、w3jmail4.pdf 和 readme.txt 文件。可以查阅w3jmail4.pdf 中的使用帮助。我们所要的文件其实只是那个 jmail.dll,安装程序会自动帮你注册 jmail.dll。若未运行安装程序,只是拷贝了 jmail.dll,则要运行 regsvr32 jmail.dll 注册它即可。

  可以看看那个 Examples 目录,发现可支持 ASP、Assembly、Delphi、Visual C++、xml,自然像 JS、VBS、VB、VBA 那样的语言中也能使用。它不仅可以用来发送邮件,也能通过 POP 协议接收邮件。下面看一段接收邮件的代码:

01.'使用 JMail 组件来发送邮件 02.Function JmailSend(Subject, HtmlBody, MailTo) 03.    Dim JmailMsg As New jmail.Message 04.    With JmailMsg 05.        .Encoding = "GBK" 06.        .MailServerUserName = "Unmi" 'smtp 验证用户名 07.        .MailServerPassWord = "xxxxxx" 'smtp 验证密码 08.        .AddRecipient MailTo '收件人 09.        .AddRecipientCC "fantasia@sina.com" '抄送 10.        .AddRecipientBCC "broodwar@2911.net" '暗送 11.        .From = "unmi@2911.net" 12.        .FromName = "隔叶黄莺" 13.        .Charset = "GBK" 14.        .ContentType = "text/html" 15.        '.Priority = 1  '重要级别 16.        .Logging = True '为 True,可用 JmailMsg.Log 获得与服务器交互的详细日志信息 17.        .Silent = True '为 True,出错时会有 JmailMsg.ErrorMessage 回送消息 18.        .Subject = Subject 19.        '.Body = HtmlBody    '作为纯文本内容发送,设置 Body 属性 20.        .HtmlBody = HtmlBody '用这个可以发送 Html 内容 21.          22.        .AddAttachment "c:\users.ctl"  '发送附件 23.          24.        If .Send("mail.2911.net") Then '指定邮件服务器 25.            JmailSend = "发送成功" 26.        Else 27.            JmailSend = JmailMsg.ErrorMessage 28.        End If 29.        MsgBox JmailMsg.Log 30.        .Close 31.    End With 32.    Set JmailMsg = Nothing 33.End Function

在 Excel 的 Microsoft Visual Basic 编辑器中要引用注册的“JMail 4.0 Library”, 代码中的 AddXxx 方法可以执行多次,如增加多个收件人、多个附件等。真正实现批量全自动发送,程序中可动态的选择邮件服务器。

  用 w3 JMail 组件比起调用 Outlook 可要方便的多,Outlook 可以不用配置,发布时只需要带个 jmail.dll 动态库,用 regsvr32 jmail.dll 注册一下即可。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-3 01:27 , Processed in 0.069142 second(s), 17 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部