我有以下powershell脚本:
$Outlook = New-Object -ComObject Outlook.Application
$Mail = $Outlook.CreateItem(0)
$Mail.To = "receiver@host.com"
$Mail.Subject = "Hello"
$Mail.Body ="World"
$Mail.Send()
但是当我执行它时,我必须手动选择电子邮件的分类:出现 TITUS弹出,其中“选择分类”标题选择框包含以下项目:公共,内部仅使用和私人。我必须选择一个项目并单击“确定”,然后发送电子邮件。
该脚本应该是按计划运行的作业,因此我根本不想与脚本进行交互。
我已经走过了the whole msdn page of MailItem,但我没有遇到任何类似于Classificaiton的事情。我错过了什么?
我不是服务器的管理员,因此我无权更改任何内容。
PS:我选择C#标签只是因为C#具有与Outlook交互的相同API
答案 0 :(得分:1)
首先,Outlook与任何其他Office应用程序一样,并非设计用于无人参与的方案。它可以并将显示模式提示。
其次,要发送消息,您可以使用直接SMTP,EWS,Extended MAPI(仅限C ++或Delphi)或Redemption(其RDO个对象系列包装扩展MAPI,可以访问许多语言。)
在您的特定情况下,它确实看起来像一个显示对话框的自定义第三方插件。
答案 1 :(得分:0)
邮件对象无法设置电子邮件对象的分类。如果将对象传递给Get-Member,您将看到分类和/或更改它的方法没有可更改的属性。您可以通过运行以下命令找到它:
$Mail | Get-Member
此外,如果查看属性列表,则没有一个与分类相关的内容。
$Mail | Format-List
这blog post可能会对您有所帮助,但它似乎比您正在寻找的解决方案更复杂。这个使用Exchange而不是Outlook客户端。