cabinsummer 发表于 2015-3-9 16:06:49

[源码]调用Outlook发邮件

本帖最后由 cabinsummer 于 2016-12-24 15:05 编辑

一个简单的函数,稍加改造可以做出意想不到的功能。

(defun Sendmail (subject body receiver attachment / outlook mail attachments)
(vl-load-com)
(setq outlook (vlax-get-or-create-object "Outlook.Application"))         ;启动outlook
(setq mail (vlax-invoke-method outlook 'CreateItem 0))                     ;创建新邮件
(setq attachments (vlax-get-property mail 'Attachments))                   ;声明附件
(vlax-put-property mail 'Subject subject)                                  ;设置邮件标题
(vlax-put-property mail 'HTMLBody body)                                    ;HTML格式正文,普通正文用Body属性
(vlax-put-property mail 'To receiver)                                    ;收件人,多个收件人可以用";"隔开
(if (findfile attachment) (vlax-invoke-method attachments 'add attachment));添加附件
(vlax-invoke-method mail 'Send)                                          ;发送邮件
(vlax-release-object attachments)                                          ;释放附件对象
(vlax-release-object mail)                                                 ;释放邮件对象
(vlax-release-object outlook)                                              ;释放outlook对象
(princ)
)

函数调用示例
(sendmail "HTML格式邮件" "<HTML><BODY><font=\"宋体\" color=\"blue\" size=\"2.5\">你好,<br><br>欢迎光临明经通道<br><br>      2015-03-09</font></BODY></HTML>" "69389337@qq.com" "")

如果有以下这行,邮件发送后会自动删除,可以神不知鬼不觉的做某些事情
(vlax-put-property mail 'DeleteAfterSubmit 1)

oistre 发表于 2018-8-31 09:42:57

谢谢大神,牛牛牛牛!!!

lucas_3333 发表于 2015-3-9 16:12:15

追风而来!好久没露面啊,风版!谢谢分享!

q3_2006 发表于 2015-3-9 17:36:00

好厉害。。。

Q1241274614 发表于 2015-3-9 23:05:51

如果没有安装outlook ,有没有方法QQ邮箱对QQ邮箱直接发。

LPACMQ 发表于 2015-3-10 00:54:10

厉害

USER2128 发表于 2015-3-10 08:15:59

版主出过很多精品。

zark 发表于 2015-3-11 20:05:57

1、这样会不会被杀软或防火墙探测到,被视为病毒呢。
2、如果OUTLOOK没有设置smtp之类的,应该发不了吧

teykmcqh 发表于 2015-3-11 22:50:22

走过路过,顶一下啦

sicky111 发表于 2015-3-12 00:28:26

现在没什么人用outlook吧

cabinsummer 发表于 2015-3-13 09:08:15

sicky111 发表于 2015-3-12 00:28 static/image/common/back.gif
现在没什么人用outlook吧

大企业用outlook的非常多
页: [1] 2
查看完整版本: [源码]调用Outlook发邮件