VBA 中发送邮件(三. 使用 XMLHttpRequest 组件)

w3 JMail 组件虽好用,但实际使用过程中还是碰到问题,多数机器上都表现正常,唯独在一台机器上,JMail 的错误信息总是:jmail The message was undeliverable. All servers failed to receive the message。根据经验把病毒软件、防火墙都关了,Telnet 到邮件服务器的 25 端口,或者 Outlook 收发都是正常的,这下有些没辙了,而同事真正又要在那台奇怪的机器上发邮件。

再想它法了,对,就是 XMLHttpRequest,把功能分离,Excel 只提交 Http 请求,由 JSP 来完成实际的邮件发送工作,当然也可以实现为其他的形式。所以也就有两部分实现代码,分别为:

JSP 代码,使用的是 Apache 的 commons-email 组件,它还需要用到 activation.jar 和 mail.jar,关于 commons-email 的使用可参考前面的一篇:用 apache commons-email 轻松发送无乱码邮件。比如文件存为 sendmail.jsp,通过浏览器来访问时用的 URL 是 http://192.168.1.100:8080/WebUtils/sendmail.jsp阅读全文 >>

VBA 中发送邮件(二. 使用 JMail 组件)

在上一篇 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 注册它即可。 阅读全文 >>

VBA 中发送邮件(一. 使用 Outlook 组件)

帮同事做了一个在 Excel 中用 VBA 发邮件的程序,逐行读取 Excel 表格记录中的待发邮件主题、内容及收件人进行发送。首先想到也是看看能否使用 Outlook 的组件,网上查了查,果然有,现把代码贴出来如下: 阅读全文 >>