我正在开发一个涉及创建电子邮件联系人并将邮件转发给该联系人的脚本。脚本的最后部分是自动发送测试邮件到地址以确保转发工作。PowerShell Outlook发送电子邮件
所以我用下面的代码:
[void] [Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Core")
[void] [Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Interop.Outlook")
$olApp = New-Object Microsoft.Office.Interop.Outlook.ApplicationClass
$msg = $olApp.CreateItem(0)
$msg.Recipients.Add("[email protected]")
$msg.Subject = "test"
$msg.Body = "test"
$msg.Send()
我在6号线得到一个错误:"You cannot call a method on a null-valued expression."
我在家里运行的代码,它工作得很好。差异:在工作的域中,在工作时使用Exchange Server,在工作时使用域帐户。
我在两台机器上都使用相同版本的Powershell和Outlook。最好使用Outlook发送邮件,因为我已经打开了Outlook,这样邮件就会显示在“已发送邮件”文件夹中。
我写的东西被隐式授权在网络上。其他人写的东西需要经过一个大的批准过程。这不是为了整体的需要,而是把过去5分钟的工作变成30秒的任务。另外,我不知道SMTP服务器。 – Orihara 2008-12-05 01:01:13