Outlookの電子メール草案を準備してOutlookで開く必要があります。Outlookアプリケーションでpowershellを使用してOutlook電子メールの草案を作成できません
私は、outlookメソッドを呼び出して電子メールを作成するpowershellに供給変数を実行するPHPフォームを作成しました。それは完璧に動作
C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe C:\wamp\www\bizops\prepare_email.ps1 >> C:\wamp\www\bizops\log.log
以下のように私はPowerShellを実行
。
しかし、私は、バッチファイルに上記の行を置き、PHPスクリプトでそれを呼び出す、
$mail_string="c:\WINDOWS\system32\cmd.exe /c START C:\wamp\www\bizops\outlook_mail.bat";
exec($mail_string);
それは私のPowerShellのコードは、(節たthorowsのように見えるエラー
New-Object : Retrieving the COM class factory for component with CLSID
{0006F03A-0000-0000-C000-000000000046} failed due to the following error:
80080005 Server execution failed (Exception from HRESULT: 0x80080005
(CO_E_SERVER_EXEC_FAILURE)).At C:\wamp\www\bizops\prepare_email.ps1:25 char:7
+ $ol = New-Object -comObject Outlook.Application
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [New-Object], COMException
+ FullyQualifiedErrorId : NoCOMClassIdentified,Microsoft.PowerShell.Commands.NewObjectCommand
の下に私を与えますこのエラー)
$ol = New-Object -comObject Outlook.Application
$ns = $ol.GetNameSpace("MAPI")
$Mail = $ol.CreateItem(0)
$Mail.Recipients.Add($mail_to_list)
$mail.Subject = $mail_subject
$mail.DeferredDeliveryTime = $deliverAt
$Mail.HTMLBody = "SOME HTML TEXT"
ハイドミトリー 2つのプロセスが異なるセキュリティコンテキストで実行されているかどうかを確認する方法はありますか。 これを修正する方法を提案できますか? ありがとう – Vijay
例外をトラップし、この特定のCOMコード(0x80080005)を処理するのがおそらく最良の方法です。 –