2

我对以下 PowerShelll 脚本有疑问:

$mail = $outlook.CreateItem(0) 
$mail.To = "aaa@gmail.com"
$mail.Subject = "PowerShell Test 1"
$mail.Body = "Body..."
$mail.HTMLBody = "This is test!"   
$mail.Attachments.Add("C:\Test.txt")    
$mail.save()

$mail = $outlook.CreateItem(0) 
$mail.To = "aaa@gmail.com"
$mail.Subject = "PowerShell Test 2"
$mail.Body = "Body..."
$mail.HTMLBody = "This is test!"   
$mail.Attachments.Add("C:\Test.txt")    
$mail.save()

当 Outlook 已经启动时,脚本工作正常 - 正如预期的那样,我在草稿文件夹中收到两封电子邮件。

当 Outlook 未启动时,Outlook 首先询问用户权限,但最后我在草稿中只收到第二封电子邮件,第一封电子邮件丢失。

有没有人遇到过这个问题,有什么解决办法吗?

4

1 回答 1

1

我和 Ocaso 有同样的问题,第一封电子邮件被发送到收件箱,第二封被发送到草稿。我通过为 Outlook 设置会话解决了这个问题:

$outlook = new-object -com outlook.application
$session = $outlook.Session
$session.Logon()

会话基本上设置了应用程序(在这种情况下为 Outlook)可以接收或设置数据的时间段。通过调用 session.Logon(),我们正在实例化 Outlook 可以保存数据/电子邮件的会话或时间段。下面的文章在解释会话方面做得更好:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms714451%28v=vs.85%29.aspx

谢谢

于 2012-06-06T18:57:49.850 回答