明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1833|回复: 7

[求助]在CAD中如何实现用lisp调用邮件系统?

[复制链接]
发表于 2006-1-7 18:07:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2006-1-7 18:35:36 编辑

在CAD中如何用lisp调用系统默认邮件程序?又如何用lisp向其中填写收件人、主题及内容?望高手解答。谢谢

发表于 2006-1-9 07:35:00 | 显示全部楼层

;Check out this one, it was written based on an routine d/l from the web.


(setq *MY-LISP-PATH* "f:\\XXXX\\")

(defun c:send (/      OUTLOOK    MAIL-ITEM  RECIPIANTS
        LOG-FILE      ATTACHMENTS   desAddress  outlookobj
       )
  (setq desAddress "XXXXXXX@hOtmail.com")
  (setq outlookobj "Outlook.Application.10")

  (if
    (setq outlook (vlax-get-or-create-object outlookobj))
     (progn
       (setq mail-item (vlax-invoke-method outlook 'CreateItem 0))
;;;       (vlax-invoke-method mail-item 'Save)
;;;       (vlax-invoke-method mail-item 'Display)
       (ADD-RECIPIANTS MAIL-ITEM)
       (vlax-put-property mail-item 'Subject "Here is the subject")
       (vlax-GET-property mail-item 'Subject)
       (ATTACH-FILE MAIL-ITEM)
       (if (vlax-invoke-method mail-item 'Send)
  (princ "\nMail sent.")
       )
     )
     (princ "\nUnable to start Outlook...")
  )
  (princ)
)


(defun ATTACH-FILE (MAIL-ITEM / ATTACHMENTS FILE cnt)
  (setq cnt 0)
  (while (setq FILE (getfiled "Select a File" *MY-LISP-PATH* "*" 4))
    (setq ATTACHMENTS (vlax-get-property mail-item 'Attachments))
    (vlax-invoke-method attachments 'Add FILE 1 1)
    (setq cnt (1+ cnt))
    (PRINC (strcat "\nAttachment"
     (itoa cnt)
     ": "
     (vl-filename-base FILE)
     (vl-filename-extension FILE)
    )
    )
  )
)
(defun ADD-RECIPIANTS (MAIL-ITEM / RECIPIANTS)
  (setq recipiants (vlax-get-property mail-item 'Recipients))
  (vlax-invoke-method
    recipiants
    'Add
    desAddress
  )
;;;  (vlax-invoke-method
;;;    RECIPIANTS
;;;    'ADD
;;;    "anyone@anydomain.com"
;;;  )
  (princ (strcat "\nRecipient: " desAddress))
)


(princ "\nType \"Send\" to SEND EMAIL...")
(princ)

 楼主| 发表于 2006-1-9 09:09:00 | 显示全部楼层
多谢alin斑竹。我先当下来研究一下,有问题再向您请教。
 楼主| 发表于 2006-1-9 19:50:00 | 显示全部楼层

alin斑竹:用以下语句可以得知系统的默认邮件程序
(setq MailApp (VL-REGISTRY-READ "HKEY_LOCAL_MACHINE\\SOFTWARE\\Clients\\Mail" "@"))
可是,如何去创建它的一个应用实例呢?就象以下语句可以创建一个outlook的应用实例一样(我的系统默认邮件程序是foxmail)。
(setq outlook (vlax-get-or-create-object "Outlook.Application.10"))

 

 

发表于 2006-1-10 10:50:00 | 显示全部楼层
Sorry I have never used Foxmail.
 楼主| 发表于 2006-1-10 19:45:00 | 显示全部楼层

:),谢谢alin斑竹

发表于 2015-6-9 09:54:22 | 显示全部楼层
鼓励一下,不过只有发邮件,没有收邮件的功能啊
发表于 2015-6-9 10:30:16 | 显示全部楼层
已知QQ号和密码。利用QQ发邮件的方法呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-22 00:05 , Processed in 0.180528 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表