• Outlook User
  • New Outlook app
  • Outlook.com
  • Outlook Mac
  • Outlook & iCloud
  • Developer
  • Microsoft 365 Admin
    • Common Problems
    • Microsoft 365
    • Outlook BCM
    • Utilities & Addins

Composing Complex HTML Mail Messages

Slipstick Systems

› Outlook › Email › Composing Complex HTML Mail Messages

Last reviewed on June 4, 2021     10 Comments

Outlook 98 and later versions support sending and receiving mail in the HTML format used by many other Internet mail programs. Outlook 97 can neither send nor receive HTML formatted email.

When a multipart HTML message is received by Outlook 97, the plain text portion of the message is displayed and the HTML portion is attached.

How To | Stationery | Updates | Notes | More Information

How To

Outlook does not provide a command to insert tables or other complex elements into HTML messages, nor does it give you a way to edit the source of an HTML message. The View Source command that you see on the right-click context menu in an HTML message does not let you save any changes to the source back into the message. There are several ways to compose complex HTML messages, though.

Create a New Message using an HTML File or Stationery

Method 1: One approach is to create the HTML content using your favorite HTML editor. Save it as an .htm file, and then use one of these methods to get it into the Outlook message:

  • Check Tools, Options, Mail Format to make sure Outlook is set to use HTML as its default message format. In Internet Explorer, browse to the HTML page that you saved as a file. Then, choose File | Send | Page by Email.Or, in Outlook itself, make sure that WordMail as your editor is turned off and use the Web toolbar in Outlook 2000 or the Address box in Outlook 2002 to navigate to the web page. Then, choose Actions | Send Web Page by E-mail. (Thanks to Margaret Blauvelt for this tip.)
  • Create a new HTML-format Outlook message. In Internet Explorer, browse to the HTML page that you saved as a file. Choose Edit | Select All, then Edit | Copy. Switch to the Outlook message and paste the copied material into the body of the message.
  • Create a new HTML-format Outlook message. Choose Insert | File and select the saved HTML file. At the bottom right corner of the Insert File dialog, click the small arrow next to the Insert button, and choose Insert as Text.

Method 2: Another way to create an HTML message with really rich HTML tags is to use Microsoft Word to create the document, then choose File | Send To | Mail Recipient. This adds To, Cc, and Subject boxes to the top of the Word window, where you can fill in the recipient address and subject. When you send the message, Word uses HTML format. Unfortunately, in Word 2000, it also bloats the message with several KB of Office-specific XML formatting information. Word 2002, on the other hand, provides a way to strip the XML. You'll find this Filter HTML before sending option in Word 2002 under Tools | Options | General | E-mail Options, on the General tab.

Method 3: Outlook 2002 (and up) provides yet another method: Simply use Word as your e-mail editor (Tools | Options | Mail Format). WordMail in Office XP is much better than in previous versions. You can use all the Word composition tools and choose whether to send the message in plain text, HTML or RTF format.

With WordMail as your editor, you can also edit the HTML source directly if you have the Web Scripting component from Office XP installed. You must add the HTML Source command to your toolbar (View | Toolbars | Customize). Normally, Word does not display this command unless you are editing an .htm file. I have tried this method only in Office XP, but it might also work in Office 2000.

Method 4: Use code to create an Outlook MailItem object (objMsg in the snippet below), then use FileSystemObject methods to read the contents of a saved .htm file:

Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile("c:\testfile.htm", _
ForReading)
strText = ts.ReadAll
objMsg.HTMLBody = strText


Method 5: Create a new document in Microsoft FrontPage, then use FrontPage's File | Send command. (We tried this in Office XP, but not Office 2000 yet.) The resulting message will include an extraneous two line feeds and horizontal line at the top, but you can easily delete these. This method preserves internal bookmarks. (Thanks to Stephen Green for this tip.)

Be careful with your tags if you use this method, because the message always uses the exact tag from your document, even if you have Outlook set to embed images in outgoing HTML messages. Therefore, the tags will need to point to files available on the Internet. This, in turn, may annoy people who use dial-up Internet connections, since Outlook will try to connect to try to display the images when the recipient opens or previews the message.

Stationery

  • Outlook HTML Stationery -- tools for creating heavily formatted HTML messages in Outlook, plus sources of more stationery
  • OL2000 Working with HTML Stationery

Updates

  • HTML Mail Vulnerability Updates for Microsoft Outlook -- Install these patches to make sure you're protected against harmful HTML code that can enter your system via HTML-format messages.

Notes

Adding an internal hyperlink in an Outlook message is tricky. If you create the message with the Insert | File method, Outlook adds "outbind://32/" in front of the bookmark link, making it unusable. If you use the File | Send | Page by Email method, Outlook adds a tag to the header, making all the internal hyperlinks point back to the original web page, again making the link useless. Using Word seems reliable, though. Either start with a Word document, then use File | Send To | Mail Recipient, or, in Outlook 2002, just use WordMail to create the HTML message directly. Another workaround is to create the page and save it as stationery, then use that stationery to create the message. Method #5 above, using FrontPage, also works.

Outlook has a setting that controls whether images referred to in tags are sent with your message -- Tools | Options | Mail Format | Internet Format.

In some Outlook configurations, printing from HTML messages does not include the names of any file attachments in the printout. One solution is the Print on Demand utility, which adds two new buttons to print the message with the attachment names appended and to print just the attachments.

More Information

  • Mail Tools - Compose Tools -- add-ins that provide more HTML mail composition features
  • How to create formatted messages -- via code
  • To add an embedded image to an HTML message -- via code
  • OL2000 How Outlook Renders HTML
  • OL2000 Error Message Error 195 'Undefined' Is Null or Not an Object
  • OL2002 Linked Images in an HTML E-mail Message Do Not Print
  • OL Images in Messages Do Not Print
  • OL2002 (IMO) Message Text Is Replaced with Red x's in Message Body
Composing Complex HTML Mail Messages was last modified: June 4th, 2021 by Diane Poremsky

Related Posts:

  • To Change the Font on Incoming Messages
  • Personal Signature Tools
  • HTML Stationery collections and tools for Outlook
  • How to Create HTML Stationery for Outlook

About Diane Poremsky

A Microsoft Outlook Most Valuable Professional (MVP) since 1999, Diane is the author of several books, including Outlook 2013 Absolute Beginners Book. She also created video training CDs and online training classes for Microsoft Outlook. You can find her helping people online in Outlook Forums as well as in the Microsoft Answers and TechNet forums.

Subscribe
Notify of
10 Comments
newest
oldest most voted
Inline Feedbacks
View all comments

Alison Roe (@guest_207172)
June 16, 2017 4:23 pm
#207172

Just what I needed. I learned here: http://www.coreldraw.com/en/pages/htm-file/ how to open and edit HTM files but I had no idea how to compose one. Thank you very much for sharing . this was really helpful :)

0
0
Reply
Antonio (@guest_175118)
March 25, 2013 10:02 pm
#175118

Fairly new at Outlook. What I have is a web form that an employee fills out and sends and email to the property manager (PM) in regards to a building issue. The email has the Ticket# in the subject line. I need to capture that Ticket# from the subject line so the PM can easily update the textbox on the Administratior webpage. I thought the best approach would be to have a button or a link in the received email(PM) so all he has to do is click i and capture the Ticket# from the subject line(first 15 characters), and possibly send it to the Clipboard, where it can be pasted into the textbox(if that is easier). THe PM can then do his thing. Not sure how to do that or how to write a module to do it.

0
0
Reply
Diane Poremsky (@guest_175126)
Reply to  Antonio
March 26, 2013 5:56 am
#175126

Capturing the first 15 characters of the subject in vba is fairly easy -
strSubject = Left(Item.subject, 15)

Collecting it on the clipboard is fairly easy too:
Sub CapturetoClipbaord()
Dim oMail As MailItem
DataObj As MSForms.DataObject
Set oMail = ActiveExplorer().Selection.Item(1)
Set DataObj = New MSForms.DataObject
DataObj.SetText Left(oMail.subject, 15)
DataObj.PutInClipboard
End Sub
I know just enough HTML programming to know I don't know enough - I have no idea what you need to do to pass values to webforms. Anything you could do would need to come from VBA or vbs.

0
0
Reply
antonio (@guest_175115)
March 25, 2013 8:38 pm
#175115

is there a way to pass the value of a subject line from outlook email to a web page text box

0
0
Reply
Diane Poremsky (@guest_175117)
Reply to  antonio
March 25, 2013 9:21 pm
#175117

I don't have any code that can do it, but it should be possible, most likely using vbs. The hard part is identifying the text box - passing a field to the address bar is fairly simple.

0
0
Reply
Carl Savino (@guest_152008)
July 19, 2012 10:27 am
#152008

Diane,

Do you offer any fee-based HTML support? I know the basics but we want to go a few steps beyond to create a professional looking HTML-based enewsletter that renders correctly for the most commonly used email readers. I received an e-newsletter whose format that I like and would like replciate and modify.

I look forward to hearing from you!

Carl Savino
Corporate Gray
(703) 690-6381

0
0
Reply
Diane Poremsky (@guest_152080)
Reply to  Carl Savino
July 19, 2012 12:09 pm
#152080

I do offer fee-based support but I'm in no way an HTML stationery designer. If you have the design and need it converted to Outlook, I can do that.

1
-1
Reply
Frank (@guest_101795)
April 29, 2012 5:45 pm
#101795

Diane,
Thank you VERY much for your easy to follow step by step directions to get my Dreamweaver file to Outlook. Reading your above "resume" thank you for helping us tackle our problems.

2
-1
Reply
Lucky (@guest_39380)
January 12, 2012 9:59 pm
#39380

For outlook html mail, it was great till outlook2007. but from outlook2007 on, includes outlook2010, it does not support real html mail.(use word tag for format and use word engine to render)

1
-1
Reply
Diane Poremsky (@guest_39381)
Reply to  Lucky
January 12, 2012 10:14 pm
#39381

Outlook 2007 and 2010 both support "real" HTML email.

1
0
Reply

Visit Slipstick Forums.
What's New at Slipstick.com

Latest EMO: Vol. 28 Issue 27

Support Services

Do you need help setting up Outlook, moving your email to a new computer, migrating or configuring Office 365, or just need some one-on-one assistance?

Subscribe to Exchange Messaging Outlook






Our Sponsors

CompanionLink
ReliefJet
  • Popular
  • Latest
  • Week Month All
  • How to Remove the Primary Account from Outlook
  • Adjusting Outlook's Zoom Setting in Email
  • Move an Outlook Personal Folders .pst File
  • Save Sent Items in Shared Mailbox Sent Items folder
  • Remove a password from an Outlook *.pst File
  • Outlook Auto Account Setup: Encrypted Connection not available
  • This operation has been cancelled due to restrictions
  • Create rules that apply to an entire domain
  • Use PowerShell to get a list of Distribution Group members
  • Outlook SecureTemp Files Folder
  • How to Block Foreign Spam
  • Automatically Open New Outlook when Windows boots
  • Block External Content in New Outlook
  • Save Messages in New Outlook
  • Send Individual Messages when Sending Bulk Email
  • Centrally managed signatures in Office 365?
  • Create a rule to delete spam with no sender address
  • Open Outlook Folders using PowerShell or VBScript
  • Cannot add Recipients in To, CC, BCC fields on MacOS
  • Change Appointment Reminder Sounds
Ajax spinner

Newest Code Samples

Delete Old Calendar Events using VBA

Use PowerShell or VBA to get Outlook folder creation date

Rename Outlook Attachments

Format Images in Outlook Email

Set Outlook Online or Offline using VBScript or PowerShell

List snoozed reminders and snooze-times

Search your Contacts using PowerShell

Filter mail when you are not the only recipient

Add Contact Information to a Task

Process Mail that was Auto Forwarded by a Rule

Recent Bugs List

Microsoft keeps a running list of issues affecting recently released updates at Fixes or workarounds for recent issues in Outlook for Windows.

Outlook for Mac Recent issues: Fixes or workarounds for recent issues in Outlook for Mac

Office Update History

Update history for supported Office versions is at Update history for Office

Outlook Suggestions and Feedback

Outlook Feedback covers Outlook as an email client, including Outlook Android, iOS, Mac, and Windows clients, as well as the browser extension (PWA) and Outlook on the web.

Use Outlook.com Feedback for suggestions or feedback about Outlook.com accounts.

Other Microsoft 365 applications and services




Windows 10 Issues

  • iCloud, Outlook 2016, and Windows 10
  • Outlook Links Won’t Open In Windows 10
  • Outlook can’t send mail in Windows 10: error Ox800CCC13
  • Missing Outlook data files after upgrading Windows?

Outlook Top Issues

  • The Windows Store Outlook App
  • The Signature or Stationery and Fonts button doesn’t work
  • Outlook’s New Account Setup Wizard
  • Outlook 2016: No BCM
  • Exchange Account Set-up Missing in Outlook 2016

Repair PST

Convert an OST to PST

Repair damaged PST file

Repair large PST File

Remove password from PST

Merge Two Data Files

Sync & Share Outlook Data

  • Share Calendar & Contacts
  • Synchronize two computers
  • Sync Calendar and Contacts Using Outlook.com
  • Sync Outlook & Android Devices
  • Sync Google Calendar with Outlook
  • Access Folders in Other Users Mailboxes

Contact Tools

Data Entry and Updating

Duplicate Checkers

Phone Number Updates

Contact Management Tools

Diane Poremsky [Outlook MVP]

Make a donation

Mail Tools

Sending and Retrieval Tools

Mass Mail Tools

Compose Tools

Duplicate Remover Tools

Mail Tools for Outlook

Online Services

Calendar Tools

Schedule Management

Calendar Printing Tools

Calendar Reminder Tools

Calendar Dates & Data

Time and Billing Tools

Meeting Productivity Tools

Duplicate Remover Tools

Productivity

Productivity Tools

Automatic Message Processing Tools

Special Function Automatic Processing Tools

Housekeeping and Message Management

Task Tools

Project and Business Management Tools

Choosing the Folder to Save a Sent Message In

Run Rules on messages after reading

Help & Suggestions

Submit Outlook Feature Requests

Slipstick Support Services

Buy Microsoft 365 Office Software and Services

Visit Slipstick Forums.

What's New at Slipstick.com

Home | Outlook User | Exchange Administrator | Office 365 | Outlook.com | Outlook Developer
Outlook for Mac | Common Problems | Utilities & Addins | Tutorials
Outlook & iCloud Issues | Outlook Apps
EMO Archives | About Slipstick | Slipstick Forums
Submit New or Updated Outlook and Exchange Server Utilities

Send comments using our Feedback page
Copyright © 2023 Slipstick Systems. All rights reserved.
Slipstick Systems is not affiliated with Microsoft Corporation.

wpDiscuz

Sign up for Exchange Messaging Outlook

Our weekly Outlook & Exchange newsletter (bi-weekly during the summer)






Please note: If you subscribed to Exchange Messaging Outlook before August 2019, please re-subscribe.

Never see this message again.

You are going to send email to

Move Comment