1

Outlook2010とPowershell2.0を使用しています。

Outlookメッセージを送信し、Powershellを使用してプログラムでメッセージの配信を遅らせたい。

新しいOutlook電子メールを作成し、すぐに配信を延期するにはどうすればよいですか?

4

2 に答える 2

3

これを試してみると:

$ol = New-Object -comObject Outlook.Application  
$mail = $ol.CreateItem(0)  
$mail | Get-Member

メールオブジェクトで使用可能なすべてのメソッド/プロパティのリストが表示されます。

1つのプロパティはDeferredDeliveryTimeです。次のように設定できます。

#Stay in the outbox until this date and time
$mail.DeferredDeliveryTime = "11/2/2013 10:50:00 AM"

または:

#Wait 10 minutes before sending mail
$date = Get-Date
$date = $date.AddMinutes(10)
$mail.DeferredDeliveryTime = $date
于 2013-02-11T09:39:00.987 に答える
0

解決:

$ol = New-Object -comObject Outlook.Application 
$ns = $ol.GetNameSpace("MAPI")

# call the save method yo dave the email in the drafts folder
$mail = $ol.CreateItem(0)
$null = $Mail.Recipients.Add("xxxx@serverdomain.es")  
$Mail.Subject = "PS1 Script TestMail"  
$Mail.Body = "  Test Mail  "

$date = Get-Date
$date = $date.AddMinutes(2)
$Mail.DeferredDeliveryTime = $date #"2/11/2013 10:50:00 AM"

$Mail.save()

# get it back from drafts and update the body
$drafts = $ns.GetDefaultFolder($olFolderDrafts)
$draft = $drafts.Items | where {$_.subject -eq 'PS1 Script TestMail'}
$draft.body += "`n foo bar"
$draft.save()

$inspector = $draft.GetInspector  
$inspector.Display()


# send the message
$draft.Send()

参照:

PowerShellを使用してOutlookの電子メールドラフトを作成する

http://office.microsoft.com/en-us/outlook-help/delay-or-schedule-sending-email-messages-HP010355051.aspx

アップデート

デフォルトのアカウントを変更するには:

$Mail.SendUsingAccount = $ol.Session.Accounts | where {$_.DisplayName -eq $FromMail}

参照: http:
//msmvps.com/blogs/richardsiddaway/archive/2011/08/08/outlook-sending-emails.aspxOutlook
の自動化-送信者アカウントの変更

于 2015-06-18T13:07:38.283 に答える