I've created my HTML signature in an external application and then placed the files (including txt and rtf versions) in the Signatures folder. This signature contains a picture and looks correct when composing a new message or reply. However, when I send the message, the recipient does not see this picture.
I've successfully used this signature for years with Outlook 2010 and the issue only occurs when I send a message with this signature from Outlook 2016.
Why is this happening and how can I make my signature work with Outlook 2016?
Outlook 2013 and Outlook 2016 indeed include a change of defaults regarding the handling of linked pictures when compared to previous versions of Outlook.
In previous versions of Outlook, linked pictures would get embedded upon sending. In Outlook 2013 and Outlook 2016, linked pictures will remain linked.
Linked and embedded pictures?
Html-signatures don't actually contain the picture files themselves, they include html code with references to the location of the pictures. Upon sending, Outlook used to take these pictures and places them within the message itself and change the references to an internal resource: the images were embedded within the email.
Outlook 2013 and Outlook 2016 no longer do this and maintain the link to the location of the picture instead. This means that when the signature includes a reference to a picture that exists on your local computer rather than online, this reference will still exist for the recipient which of course does not have this picture on his/her local computer. The result is that the recipient will see a broken image icon with the text;
The linked image cannot be displayed. The file may have been moved, renamed, or deleted. Verify that the link points to the correct file location.
Signature editor, HTML editor and scripted signatures
The issue actually only happens when you've manually created the signature in an HTML editor rather than the Outlook Signature Editor. This issue can also happen when your signature with for instance a company logo is automatically generated for you via a corporate script such as included in the guide: Setting up a Corporate Signature
The fact that it works when you've included the picture via the Outlook Signature Editor is because special HTML tags are used (or actually VML) which are recognized upon sending so that Outlook will still end up embedding these linked pictures.
Aside from recreating the signature via the Outlook Signature Editor or applying the VML picture implementation, you can configure Outlook 2013 or Outlook 2016 to always embed all linked pictures (just like previous versions of Outlook) by setting the following Registry value.
Key Outlook 2013:
Key Outlook 2016:
Send Pictures With Document
Note: The value name contains spaces and capital letters; you must include these as well.
Another way to go would be to place the images on a web server which is also reachable for your recipients. This will keep the messages smaller as well.
While this is a welcome change for people who create newsletters with Outlook and understandable with the new “Insert-> Online Pictures” button, the issue is somewhat unexpected for people who've worked successfully with their manually created html-signature for years or who get their signatures automatically created by a corporate script.
It would have been nice if Outlook could actually differentiate between references to local resources and Internet resources rather than relying on special "Word HTML" tricks.