Outlook 2010 中的 HTML、RTF、纯文本重新格式化

Outlook 2010 中的 HTML、RTF、纯文本重新格式化

在 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 美元)

警告:我还没有尝试过这个插件,并且我不推荐它,除非你因为其他原因也需要这个插件,而且它提供的额外功能值得付费。

相关内容