Autohotkey 通过 ComObject 发送邮件

Autohotkey sending mail through ComObject

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


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


代码:

正文正确且包含 HTML 文本。

Myself = %AUMailAdress%
Recipient := Myself
Subject := Oi
Body := Ci
Recipient5 = Hidden@gmail.com

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")。 CreateItem (olMailItem)

连续运行脚本?

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

MSDN Method | ",512"

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

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

系统:Windows 10 x64

展望 2019

AHK 1.1.33.02 运行 作为管理员