Now Only MailItem.Display adds the signature to an unmodified message.
UPDATE: as of the latest (Summer 2016) builds of Outlook, GetInspector trick no longer works. Mail.HTMLBody now contains the message signature that you will need to merger (not just concatenate!) with your own HTML Outlook = win32.Dispatch('outlook.application') Note that Outlook adds a signature when an unmodified message is displayed or its inspector is touched import win32com.client as win32 You would also need to merge the styles from two HTML documents and take care of the embedded images used by the signature.
Keep in mind that two HTML strings must be merged, not just concatenated. The best you can do is read the signature from the file system and add its contents to the HTML body appropriately. Outlook signatures are not exposed through the Outlook Object Model.