使用具有自定义权限的 Outlook 应用程序发送电子邮件(使用 PowerShell)
Send email with Outlook application with cutomized permissions (Using PowerShell)
我正在尝试使用 Outlook 应用程序创建和发送电子邮件,PowerShell 应用电子邮件权限(示例:仅加密、不转发等),目前正在处理 Outlook 应用程序(创建时手动发送电子邮件),但是找不到使用应用此设置的 PowerShell 发送电子邮件的方法:
Permission templates in Outlook
我目前正在使用以下代码创建和发送电子邮件(有效):
$Outlook = New-Object -ComObject Outlook.Application
$Mail = $Outlook.CreateItem("olMailItem")
$Mail.To = "test@test.com"
$Mail.Subject = "Test Email"
$Mail.Body = "Email sent using PowerShell"
$file = "C:\ExampleFolder\test.txt"
$Mail.Attachments.Add($file)
$Mail.Send()
有没有办法使用 PowerShell 应用此设置?
我为此创建了解决方案,该解决方案涉及两个属性:"$Outlook.CreateItem("olMailItem").Permission" 和 "$Outlook.CreateItem("olMailItem").PermissionTemplateGuid",并按如下方式工作:
- 如果 $Outlook.CreateItem("olMailItem").Permission 设置为“0”:电子邮件作为不受限制的消息发送,不需要 PermissionTemplateGuid值。
- 如果 $Outlook.CreateItem("olMailItem").Permission 设置为“1”:邮件自动作为 olDoNotForward 发送,不需要 PermissionTemplateGuid值。
- 如果$Outlook.CreateItem("olMailItem").Permission设置为"2":邮件需要PermissionTemplateGuid,因此需要获取GUID模板,由于每个组织根据配置有不同的模板,请将带有加密模板的电子邮件发送到您的收件箱并使用以下代码阅读:
$olFolderInbox = 6
$outlook = new-object -com outlook.application
$mapi = $outlook.GetNameSpace("MAPI")
$inbox = $mapi.GetDefaultFolder($olFolderInbox)
$items = $inbox.items
$items[1].PermissionTemplateGuid
</pre>
这将提供具有所需加密的正确 permissionTemplateGuid。
因此,要发送电子邮件,请使用以下公式:
$Outlook = New-Object -ComObject Outlook.Application
$Mail = $Outlook.CreateItem("olMailItem")
$Mail.To = "test@test.com"
$Mail.Subject = "Test Email"
$Mail.Body = "Email sent using PowerShell"
$file = "C:\ExampleFolder\test.txt"
$Mail.Attachments.Add($file)
$Mail.PermissionTemplateGuid = XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
$Mail.Permission = "2"
$Mail.Send()
有关详细信息,请访问此网站:http://jon.glass/blog/reads-e-mail-with-powershell/
我正在尝试使用 Outlook 应用程序创建和发送电子邮件,PowerShell 应用电子邮件权限(示例:仅加密、不转发等),目前正在处理 Outlook 应用程序(创建时手动发送电子邮件),但是找不到使用应用此设置的 PowerShell 发送电子邮件的方法:
Permission templates in Outlook
我目前正在使用以下代码创建和发送电子邮件(有效):
$Outlook = New-Object -ComObject Outlook.Application
$Mail = $Outlook.CreateItem("olMailItem")
$Mail.To = "test@test.com"
$Mail.Subject = "Test Email"
$Mail.Body = "Email sent using PowerShell"
$file = "C:\ExampleFolder\test.txt"
$Mail.Attachments.Add($file)
$Mail.Send()
有没有办法使用 PowerShell 应用此设置?
我为此创建了解决方案,该解决方案涉及两个属性:"$Outlook.CreateItem("olMailItem").Permission" 和 "$Outlook.CreateItem("olMailItem").PermissionTemplateGuid",并按如下方式工作:
- 如果 $Outlook.CreateItem("olMailItem").Permission 设置为“0”:电子邮件作为不受限制的消息发送,不需要 PermissionTemplateGuid值。
- 如果 $Outlook.CreateItem("olMailItem").Permission 设置为“1”:邮件自动作为 olDoNotForward 发送,不需要 PermissionTemplateGuid值。
- 如果$Outlook.CreateItem("olMailItem").Permission设置为"2":邮件需要PermissionTemplateGuid,因此需要获取GUID模板,由于每个组织根据配置有不同的模板,请将带有加密模板的电子邮件发送到您的收件箱并使用以下代码阅读:
$olFolderInbox = 6 $outlook = new-object -com outlook.application $mapi = $outlook.GetNameSpace("MAPI") $inbox = $mapi.GetDefaultFolder($olFolderInbox) $items = $inbox.items $items[1].PermissionTemplateGuid </pre>
这将提供具有所需加密的正确 permissionTemplateGuid。
因此,要发送电子邮件,请使用以下公式:
$Outlook = New-Object -ComObject Outlook.Application $Mail = $Outlook.CreateItem("olMailItem") $Mail.To = "test@test.com" $Mail.Subject = "Test Email" $Mail.Body = "Email sent using PowerShell" $file = "C:\ExampleFolder\test.txt" $Mail.Attachments.Add($file) $Mail.PermissionTemplateGuid = XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX $Mail.Permission = "2" $Mail.Send()
有关详细信息,请访问此网站:http://jon.glass/blog/reads-e-mail-with-powershell/