在 Outlook 2010 中,当您回复、全部回复或转发时,如何强制电子邮件采用 HTML 格式而不是继承原始电子邮件的格式?
特别值得注意的是,我遇到一个问题,有人在 Outlook 中向我发送 RTF 格式的邮件,这会导致接收邮件的人无法看到非纯文本内容。我希望能够在重新发送邮件时将其转换为 HTML。
答案1
我认为最简单的方法是自由的加入:ReliefJet Quicks for Outlook。它提供了“始终使用格式回复”选项,可以满足您的要求(包括转发时格式化以及更多生产力调整)。只需设置所需的格式,然后忘掉它。
它设置您发出邮件的格式,包括整个邮件正文中的所有内容,但请注意,它不会重新集成发起人的 Outlook 可能已移动到 winmail.dat 文件的内容(例如原始增强邮件格式、嵌入图像、可用形式的超链接或附件)。
请注意,我推荐这个插件是因为我是它的开发人员之一,所以如果您有任何其他问题,请随时提出。
答案2
尝试建议的方法MSOutlook 信息
方法 1:手动更改消息格式
点击Reply
/ Reply All
/Forward
这将打开一个新窗口,即电子邮件编辑器
转到电子邮件工具栏/功能区 > 单击选项卡Format Text
> 组Format
> 选择您喜欢的格式
HTML(使用键盘快捷键Alt O T H:)
纯文本(使用键盘快捷键Alt O T P:)
富文本(RFT)(使用键盘快捷键Alt O T R:)
笔记:仅电子邮件正文中的内容将根据您的偏好重新格式化。可能会出现一些不一致的情况,例如缩进过多,但除此之外通常不会造成麻烦。如果原始邮件在 Outlook 中被格式化为 RTF,则所有非纯文本内容以及附件都将存储在附件中winmail.dat
。必须手动查看/恢复其中的内容winmail.dat
(需要单独的应用程序)。
方法 2:宏您可以通过 VBA 宏更改消息格式来源
在 Outlook 中,按Alt+F11打开 VBA 编辑器并展开,Microsoft Outlook Objects
然后双击ThisOutlookSession
在编辑窗格中打开它,然后按Ctrl+P粘贴代码。
Option Explicit
Private WithEvents oExpl As Explorer
Private WithEvents oItem As MailItem
Private bDiscardEvents As Boolean
Private olFormat As OlBodyFormat
Private Sub Application_Startup()
Set oExpl = Application.ActiveExplorer
bDiscardEvents = False
'olFormat = olFormatPlain '(*1) - reply using plain text
olFormat = olFormatHTML '(*2) - reply using HTML
End Sub
Private Sub oExpl_SelectionChange()
On Error Resume Next
Set oItem = oExpl.Selection.Item(1)
End Sub
Private Sub oItem_Reply(ByVal Response As Object, Cancel As Boolean)
If bDiscardEvents Or oItem.BodyFormat = olFormat Then
Exit Sub
End If
Cancel = True
bDiscardEvents = True
Dim oResponse As MailItem
Set oResponse = oItem.Reply
oResponse.BodyFormat = olFormat
oResponse.Display
bDiscardEvents = False
End Sub
Private Sub oItem_ReplyAll(ByVal Response As Object, Cancel As Boolean)
If bDiscardEvents Or oItem.BodyFormat = olFormat Then
Exit Sub
End If
Cancel = True
bDiscardEvents = True
Dim oResponse As MailItem
Set oResponse = oItem.ReplyAll
oResponse.BodyFormat = olFormat
oResponse.Display
bDiscardEvents = False
End Sub
Private Sub oItem_Forward(ByVal Forward As Object, Cancel As Boolean)
If bDiscardEvents Or oItem.BodyFormat = olFormat Then
Exit Sub
End If
Cancel = True
bDiscardEvents = True
Dim oResponse As MailItem
Set oResponse = oItem.Forward
oResponse.BodyFormat = olFormat
oResponse.Display
bDiscardEvents = False
End Sub
如果您希望电子邮件始终为纯文本,请注释掉 HTML 行并取消注释上述代码中的纯文本行,如下所示:
olFormat = olFormatPlain '(*1) - always use plain text
'olFormat = olFormatHTML '(*2) - always use HTML
警告:我还没有测试过代码,如果你不知道自己在做什么,使用宏会带来一定的风险。请谨慎使用。
笔记:这不会修改收件箱中的原始电子邮件
方法 3: 付费插件
可能有一种方法可以通过付费插件自动执行此操作:Outlook 的附加功能(29.95 美元)
警告:我还没有尝试过这个插件,并且我不推荐它,除非你因为其他原因也需要这个插件,而且它提供的额外功能值得付费。