我的目标是删除 Outlook 邮件中的数字签名。我最初的想法是创建一个 VBA 脚本(我已在下面完成)来枚举所选邮件项目中的所有附件,并在遇到数字签名附件时将其删除。
不幸的是,数字签名没有显示为邮件的附件之一。也许我搞错了……我以为数字签名实际上是附件。
Public Sub DeleteDigitalSignatureAttachment()
Dim olkMsg As MailItem
Select Case TypeName(Application.ActiveWindow)
Case "Explorer"
Set olkMsg = Application.ActiveExplorer.Selection(1)
Case "Inspector"
Set olkMsg = Application.ActiveInspector.CurrentItem
End Select
If olkMsg.Attachments.Count > 0 Then
Dim s As String
For i = 1 To olkMsg.Attachments.Count
s = s & olkMsg.Attachments.Item(i).FileName & ", "
'olkMsg.Attachments.Remove (i)
Next i
MsgBox (s)
End If
End Sub
请注意,在上面的代码中,我已经考虑到我可以通过让我的“For 循环”从索引 1 而不是 0 开始来“跳过”数字签名。但是,它需要这样做,因为尝试访问 .Attachments.Item(0) 会导致越界错误。
答案1
您应该能够强制 Outlook 以纯文本形式查看邮件相关知识库。检查设置位置并记下此部分 -
在使用数字签名的情况下,Outlook 必须以发件人指定的原始格式显示电子邮件,或者您必须打开“以纯文本形式阅读所有数字签名的邮件”选项。要打开“以纯文本形式阅读所有数字签名的邮件”选项,请单击以选中“以纯文本形式阅读所有标准邮件”选项下的“以纯文本形式阅读所有数字签名的邮件”复选框。