【问题标题】:Powershell EWS upload emlPowershell EWS 上传 eml
【发布时间】:2013-05-09 08:29:56
【问题描述】:

我有这个代码可以上传 EML 文件进行交换。

#Upload Eml Sample  

$folderid= new-object Microsoft.Exchange.WebServices.Data.FolderId([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Inbox,$MailboxName)     
$Inbox = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($service,$folderid)  
#Crete Email Object  
$emUploadEmail = new-object Microsoft.Exchange.WebServices.Data.EmailMessage($service)  
#Read File  
[byte[]]$bdBinaryData1 =  get-content -encoding byte "C:\temp\exportedmail.eml"  
#Set Mime Content in Message  
$emUploadEmail.MimeContent = new-object Microsoft.Exchange.WebServices.Data.MimeContent("us-ascii", $bdBinaryData1);  
#Set Sent Message Flags which means message wont appear as a Draft  
$PR_Flags = new-object Microsoft.Exchange.WebServices.Data.ExtendedPropertyDefinition(3591, [Microsoft.Exchange.WebServices.Data.MapiPropertyType]::Integer);  
$emUploadEmail.SetExtendedProperty($PR_Flags,"1")  
$emUploadEmail.Save($Inbox.Id) 

当我尝试上传带有附件的 EML 文件时,运行该脚本的计算机会崩溃。它占用了所有的内存。如何修改上面的代码以上传 eml 和附件。

【问题讨论】:

    标签: powershell exchange-server exchangewebservices


    【解决方案1】:

    编辑解决方案:Glen Scales 在这里提供了解决方案:

    http://gsexdev.blogspot.com/2012/02/ews-managed-api-and-powershell-how-to_22.html#!/2012/02/ews-managed-api-and-powershell-how-to_22.html

    替换获取内容:

    [byte[]]$bdBinaryData1 = get-content -encoding byte "C:\temp\exportedmail.eml"

    [byte[]]$bdBinaryData1 = <strong>[System.IO.File]::ReadAllBytes</strong>("C:\temp\exportedmail.eml")

    【讨论】:

      猜你喜欢
      • 2017-07-27
      • 1970-01-01
      • 2019-09-07
      • 1970-01-01
      • 1970-01-01
      • 2014-12-19
      • 1970-01-01
      • 1970-01-01
      • 2013-05-24
      相关资源
      最近更新 更多