In most cases HTML body of the message references images using special
"cid:" protocol, that specifies Content-ID of the image that should be
used:
This is our <strong>brand new</strong> logo: <br />
<img src="cid:logo@example.com" />
In such case actual image is embedded inside an email, as part of the
mime tree, as an element related to HTML body and with
content-disposition header set to inline.
Invoking Imap.GetMessageByUID method is going to download
entire email message, including all images. This makes message bigger,
but images don't need to be stored on your web server (remember that
emails tend to be archived for years).
Programmatically image files are available through IMail.Visuals and IMail.Attachments collections.
When you invoke SaveHtmlAs all inline images (referred using cid:) are
saved along with the HTML file, HTML is modified to reference local
files (relative paths are used).
You should save HTML along with all those images (IMail.Visuals).