用Excel发邮件:VBA+Jmail实现用Excel拆分数据并发送邮件

来源:百度文库 编辑:神马文学网 时间:2024/06/02 15:56:21

用Excel发邮件:VBA+Jmail实现用Excel拆分数据并发送邮件

字体大小: 小 中 大       工作中,我们经常要发送大量的邮件,也许有上百个收件人甚至是上千乃至上万的收件人,发送的邮件性质是相似的,但是每一个收件人接收的内容却不相同,或者发给收件人的资料是需要各个收件人相互保密的,如果手动的一封封邮件地发送的话,你可以想象一下,那是一件多么痛苦的事情,而且还很容易出错。比如发送工资条……
      有人告诉我,拆发工资条的话Word里面的邮件合并就可以做到,可是Word邮件合并的功能使用起来比较繁琐,而且需要Outlook配合。
      而在我的实际工作中,也遇到了这样的问题,A的数据只能发给A,必须一对一的进行数据发送,但是Foxmail和Outlook都实现不了这样的批量发送邮件的功能,通过我的不断摸索,可以用VBA调用Jmail组件来实现。不敢藏私,发上来和网友们共享!我个人比较倡导开源,所以VBA工程没有设密码,大家可以根据自己的工作的需要改进这个程序。如果大家需要帮助的话,加QQ群9402339咨询我(非常抱歉,本人QQ好友已到500上限)。
      关于这个工具,我先说明一下,由于是我自己给自己写的一个小程序,所以没有考虑界面的友好性和工具的易操作性,所以想用这个工具的朋友请先看看工具里面的使用说明。使用工具可能会遇到几个比较常见的问题:
      1、显示附件路径出错,这个时候就要使用者仔细检查自己填写进去的路径,确保附件的路径正确无误;
      2、收件人信箱的格式出错。收件人那一列必须按照列标题批注的格式填写,比如同一条数据需要发送给两个收件人:张三,zhangsan@mail.com,李四,lisi@mail.com   “收件人名称,收件人信箱”这样的格式才会被正确识别,需要注意的是收件人名称不能被省略,收件人名称和收件人信箱之间用英文状态下的逗号分隔开;
      3、服务商未给你的信箱开通SMTP服务导致发送失败。在设置SMTP服务器的时候,先检查一下自己的信箱是不是已经开启SMTP服务。比如,网易不对免费信箱开通SMTP服务;腾讯QQ信箱默认SMTP服务是关闭的,必须进去邮箱设置里面启用SMTP;
      4、发件人信箱一般是是SMTP服务器域名下的信箱,绝大部分SMTP不允许用户使用别的域名下的信箱签名发信。比如SMTP服务器是新浪的,但是发件人信箱却是搜狐的信箱,通常情况下SMTP服务器会拒绝这样的异域发送指令。比如:SMTP设置的是smtp.sina.com,发件人信箱设置的是abcde@sohu.com,这样的设置是错误的。

      下面是我最新修改的工具表,希望对大家能有所帮助。
★数据表的拆分与邮件分发工具【加强版】←点击下载此文件(424.5 KB)
[2010-02-06 11:05 PM; 下载次数:881]