我正在接收来自特定联系人的 HTML 格式的电子邮件,但我只想接收他发送的纯文本格式的邮件。
我已选中工具 > 信任中心 > 电子邮件安全 > [] 以纯文本阅读所有标准邮件中的框,但我不想从所有邮件中删除格式。
我如何实现这个目标?
- 我正在使用带有 Exchange 邮件服务器的 Microsoft Outlook 2007。
- Windows XP Profesional(我知道它已经过时了)
答案1
您可以在本论坛的这个主题中找到一些答案:
Outlook 规则将收到的电子邮件转换为纯文本。
解决方案 1:通过规则将邮件格式更改为纯文本
使用规则向导创建一个规则,使用“运行脚本”操作来调用此 VBA 过程:
Sub ConvertToPlain(MyMail As MailItem)
Dim strID As String
Dim objMail As Outlook.MailItem
strID = MyMail.EntryID
Set objMail = Application.Session.GetItemFromID(strID)
objMail.BodyFormat = olFormatPlain
objMail.Save
Set objMail = Nothing
End Sub
对于 ItemAdd 和 NewMailEx 解决方案,您可以通过像这样测试 SenderName 或 SenderEmailAddress 来限制转换。
If objMail.SenderName = "Mailer, HTML" Then
objMail.BodyFormat = olFormatPlain
objMail.Save
End if
您可以使用以下命令找到 SenderName:
Sub Addresses_CurrentItem()
Dim olMail As Object
On Error Resume Next
Set olMail = ActiveInspector.currentItem
If olMail Is Nothing Then
' might be in the explorer window
If (ActiveExplorer.selection.Count = 1) And _
(ActiveExplorer.selection.Item(1).Class = olMail) Then
Set olMail = ActiveExplorer.selection.Item(1)
End If
End If
On Error GoTo 0
If olMail Is Nothing Then
MsgBox "Problem." & vbCr & vbCr & "Try again " & _
"under one of the following conditions:" & vbCr & _
"-- You are viewing a single email message." & vbCr & _
"-- You have only one message selected.", _
vbInformation
Exit Sub
End If
If TypeOf olMail Is MailItem Then
Debug.Print " Sender : " & olMail.SenderName
Debug.Print " SenderEmailAddress: " & olMail.SenderEmailAddress & vbCr
End If
End Sub
更多信息请参阅文章 如何在 Microsoft Outlook 中处理传入邮件。
解决方案 2:使用规则将邮件移至“垃圾邮件”
在垃圾邮件中,所有电子邮件都转换为纯文本。