共用方式為


Images sent using Snipping Tool(SnippingTool.exe) shows up as RED X in Outlook 2010

This was an interesting issue, the customer was using the Snipping Tool to capture images and mail them. He would simply get a capture and then do a File->Send To-> E-mail Recipient in the Snipping Tool, this opened an E-mail in Outlook and everything looked fine.

image

When the email was sent and received, the Image showed up as a Red X with the message “The linked image cannot be displayed. The file may have been moved, renamed, or deleted. Verify that the link points to the correct file and location.”

image

An Interesting fact was that this worked fine in the following scenarios:
1) When Outlook was run in Safe mode
2) If the image was copied and pasted in the e-mail instead of using the Snipping Tool

We look at the HTML of the email and noticed that the img tag was pointing to a physical path to the Image file! This is never going to work since the same path+Image would never exist on the recipients machine. Below is what the body looked like:

 <body lang=EN-US link=blue vlink=purple>
    <div class=WordSection1><p class=MsoNormal>
        <span style='font-family:"Arial","sans-serif"'>
            <img border=0 width=866 height=306 id="_x0000_i1025" src="file:///C:\Users\AKASH\AppData\Local\Temp\SnipImage-%7b91EAD0DB-1DBE-4E4A-B24B-F9CAB854BE82%7d.PNG">
    </span><br></p>
    </div>
</body>

What should it have looked like?

 <body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>
    <div class=WordSection1><p class=MsoNormal>
        <img width=661 height=205 id="_x0000_i1025" src="cid:image001.png@01CDD4E9.F5F9A6E0">
        </p>
    </div>
</body>

 

In short, a link to the image was being sent instead of the image being sent with the mail. Why did this happen?

Process Monitor finally came to the rescue. Reviewing the logs we found that the “Send Pictures With Document” registry key was set to 0. i.e Outlook would send a link instead of including the picture with the message. More details on the key:

 Key: HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Options\Mail
Value type: REG_DWORD
Value name; Send Pictures With Document
Value: 0

 

If the Value is set to 1 or the key is not present, the picture is embedded as an hidden attachment pointed to by the Content-ID(cid).  Why did it work in Safe mode? In Safe mode Outlook ignores certain registry settings and sometimes takes a different code path!

 

Enjoy!