Try the methods suggested by MSOutlook.info
Method 1: Change the message format manually
Click on Reply
/ Reply All
/ Forward
This will open up a new window, i.e., the e-mail editor
Go to the e-mail Toolbar / Ribbon > click on tab Format Text
> group Format
> Select your preferred format
HTML (use keyboard shortcut: Alt O T H)
Plain Text (use keyboard shortcut: Alt O T P)
Rich Text (RFT) (use keyboard shortcut: Alt O T R)
Note: Only content in the body of the email will be reformatted as per your preference. There might be some inconsistencies, like too many indents, but otherwise its usually pain free. If the original message was formatted RTF in Outlook, all non-plain-text content, plus attachments, will have been stored in a winmail.dat
attachment. Content within winmail.dat
has to be viewed / recovered manually (requires a separate app).
Method 2: Macro
You can change the message format via a VBA macro Source
In Outlook, press Alt+F11 to open the VBA editor and expand Microsoft Outlook Objects
then double click on ThisOutlookSession
to open it in the editing pane and Ctrl+P to paste the code.
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
If you want your email to always be in plain text, then comment out the HTML line and uncomment the plain text line in the above code, like this:
olFormat = olFormatPlain '(*1) - always use plain text
'olFormat = olFormatHTML '(*2) - always use HTML
Warning: I haven't tested the code and using macros carries some risk if you don't know what you are doing. Use with care.
Note: This does not modify the original email in inbox
Method 3: Paid Add-in
There may be a way to automate this via a paid add-in: Bells & Whistles for Outlook ($29.95)
Warning: I have not tried this add-in and I don't recommend this unless you need the add-in for other reasons as well, and its worth paying for the extra features it offers.