Autohotkey 通过 ComObject 发送邮件

问题描述 投票:0回答:1

问题: 我制作了一个通过 ComObject 发送邮件的脚本,当我以用户身份使用它时,它就像一个魅力,但如果我使用 Task Scheduler 执行它,则不会。


我做了什么?我已将 ComObjActive 更改为 ComObjCreate。


代码:

正文正确并包含 HTML 文本。

Myself = %AUMailAdress%
Recipient := Myself
Subject := Oi
Body := Ci
Recipient5 = [email protected]

DocumentLocation = %SourceDir%\Tooloutput\AutoProjectsLog\Faults



olMailItem := 0
MailItem := ComObjCreate("Outlook.Application").CreateItem(olMailItem)
olFormatHTML := 2
MailItem.BodyFormat := olFormatHTML
MailItem.Subject := Subject
MailItem.HTMLBody := Body
Recipient := MailItem.Recipients.Add(Recipient)
Recipient.Type := 1 
Loop, %DocumentLocation%\*.*
MailItem.Attachments.Add(A_LoopFileLongPath)
MailItem.cc := Recipient5
MailItem.Send

  

ExitApp 
return

问题: 当它尝试制作 ComObject 时出现以下错误。

错误:0x80080005 - 服务器执行失败

行:#

---> 674:MailItem:= ComObjCreate(“Outlook.Application”)。创建项目(olMailItem)

继续运行脚本?

outlook autohotkey windows-task-scheduler comobject
1个回答
1
投票

我为此苦苦挣扎了大约 3 个小时,尝试了很多东西,包括这种方法:

MSDN 方法 | ",512"

最后,我只是以管理员身份运行 Outlook,一切都开始正常工作,使用以下代码:

outlookApp := ComObjCreate("Outlook.Application")
MailItem := outlookApp.CreateItem(0)
MailItem.Display

系统:Windows 10 x64

2019 年展望

AHK 1.1.33.02 以管理员身份运行

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.