如何使用Powershell从草稿发送电子邮件?

如何使用Powershell从草稿发送电子邮件?,powershell,Powershell,我正在尝试自动发送所有保存的电子邮件,这些电子邮件在使用powershell的“草稿”中可用。我已经看到VBA可以做到这一点,但powershell是未来的发展方向。共享代码将有助于其他同行进行调整 #Send all items in the "Drafts" folder that have a "To" address filled in. #Setup Outlook Add-Type -assembly "Microsoft.Office.Interop.Outlook" $Outl

我正在尝试自动发送所有保存的电子邮件,这些电子邮件在使用powershell的“草稿”中可用。我已经看到VBA可以做到这一点,但powershell是未来的发展方向。共享代码将有助于其他同行进行调整

#Send all items in the "Drafts" folder that have a "To" address filled in.

#Setup Outlook
Add-Type -assembly "Microsoft.Office.Interop.Outlook"
$Outlook = New-Object -comobject Outlook.Application
$myOutlook = $Outlook.Application
$myNameSpace = $myOutlook.GetNamespace("MAPI")
$myFolders = $myNameSpace.Folders

#Set Draft Folder.
$myDraftsFolder = $myFolders("rsprebitz@idafoundation.org").Folders("Drafts")

#Loop through all Draft Items

$myDraftsFolder.Items|foreach-object {

  #Check for "To" address and only send if "To" is filled in.
  If ($_.To.trim().length -gt 0) {

    #Send Item
    $_.Send

  }
}

试试这个

VWP.CS的答案很接近,但为了让它对我起作用,不得不做一点小小的改变:

#初始化组件
添加类型-程序集“Microsoft.Office.Interop.Outlook”
$Outlook=新对象-comobject Outlook.Application
$namespace=$Outlook.GetNameSpace(“MAPI”)
#设置草稿文件夹
$MyDraftFolder=$namespace.Folders.Item('yourmailboxname').Folders.Item('Drafts'))
#循环浏览所有草稿项
$MyDraftFolder.Items | foreach对象{
#检查“收件人”地址,仅在填写“收件人”时发送。
如果($\到.trim().length-gt 0){
#发送项目
写详细的“发送…”-详细
$\发送()
}
}