I finally found a good way:
I replaced the cid links with all images with base64 image data (RFC 2557) as follows:
<img src="data:image/png;base64,RAAAtuhhx4dbgYKAAA7...more data....." alt="test">
You can use the following code to generate a base64 string:
string base64Str = Convert.ToBase64String(File.ReadAllBytes(@"C:\Temp\test.png"));
Notes: does not work with IE6
source share