我收到了一些加密邮件。我想将它们存储在Exchange公用文件夹中。邮件应以解密方式存储,以便其他人可以在不需要我的私钥证书的情况下阅读邮件。
使用Outlook GUI,可以使用禁用加密的转发操作来执行此操作。这样做的缺点是邮件的发件人被我的地址替换。不太好,但至少删除了邮件加密。
我的Outlook配置为使用两个帐户。默认帐户是外部POP3帐户。但邮件应直接转发到Exchange服务器。因此,我想覆盖邮件的SendUsingAccount
属性。但这会导致Exchange服务器出错。
$Exchange="name-of-the-server"
$PublicFolderAddress="address-of-the-folder"
$Outlook = New-Object -ComObject OUTLOOK.APPLICATION
$Account = $Outlook.Session.Accounts | Where-Object { $_.ExchangeMailboxServerName -eq $Exchange }
$Namespace = $Outlook.GetNamespace("MAPI")
$Mailbox = $Namespace.Folders | Where-Object { $_.Name -eq "my-mail-address" }
$Inbox = $Mailbox.Folders | Where-Object { $_.Name -eq "Inbox" }
$Mail = $Inbox.Items[1]
# create forwarded mail
$Forward = $Mail.Forward()
$Forward.Recipients.Add($PublicFolderAddress)
$Forward.SendUsingAccount = $Account
$FW.Send()
但是作业$Forward.SendUsingAccount = $Account
失败了。
(HRESULT异常:0x80010105(RPC_E_SERVERFAULT)
编辑:主要目标是解密邮件并在Exchange服务器上公开。
答案 0 :(得分:0)
You cannot just forward it and keep the signature intact. You can move the message to any folder using MailItem.Move()
.