使用vba控制outlook发送邮件

其实很简单,直接看代码吧。

Public Sub VBASendMail()

         
Dim itmMail As Outlook.MailItem

         Set itmMail 
ThisOutlookSession.CreateItemFromTemplate("D://test.msg")

         
itmMail.To "test@163.com"

         
itmMail.HTMLBody Replace(itmMail.HTMLBody"$username""test")

         
itmMail.HTMLBody Replace(itmMail.HTMLBody"$password""testpasswd")

         
itmMail.Send

         Set itmMail 
Nothing

End Sub

通过替换预先定义好的模板test.msg中的$username和$password 实现程序控制群发不同的username和password

 

 

一下午困惑在开始的时候插入的图片无法显示,后面使用了一个解决方法

在图片前定义了个变量$image1

然后代码里加一句

itmMail.HTMLBody Replace(itmMail.HTMLBody"$image11""<img border=0 width=553 height=378 id=""图片_x0020_2"" src=""cid:image001.jpg@01C8496E.97729C00"" alt=1>")

其中,前面部分为附件中的文件名, @后面则是一个串,现在还没搞清楚怎么用程序查到这个值,不过可以在保存的邮件中直接查看源文件来得到。在一封邮件中这个值唯一。

« 上一篇 | 下一篇 »

2条记录访客评论

01C8496E.97729C00 有可能是hash出来的吧!

Post by KJ on 2009, June 4, 8:54 AM 引用此文发表评论 #1

引用 KJ 说过的话:
01C8496E.97729C00 有可能是hash出来的吧!

好像不是邮件整体hash,变更邮件内容,这个值不变。不知道是不是hash了邮件头的哪个部分

Post by ╰☆往事如风 on 2009, June 9, 9:19 PM 引用此文发表评论 #2


发表评论

评论内容 (必填):