Note: This app is not needed in Windows 2003 Server (and newer operating systems) or if you have the hotfix (Q 327010) for Windows XP (but you can use it anyway). The Hotfix may be included in Windows XP SP2. In new versions of Windows, the Send link by email command inserts a text link into the message, not an attachment.
It's always annoyed many people that sending links by e-mail from any version of IE always included an internet shortcut as an attachment as well as a text URL. It's even more annoying now, since MS decided to remove the ability to send both the shortcut and include the text URL from the Windows XP operating system and replaced it with only an attachment and a text in the message body.
This feature is controlled by a Windows file, sendmail.dll, which was updated and "improved" in WinXP. Unfortunately, the improvement removed the ability to include text URLs. Thanks to "OutlookHELL" security features, potentially dangerous attachments are blocked and links are considered dangerous attachments. This means sending a shortcut only to an Outlook user is a waste of time, since they can't easily get the attachment off.
There are a few workarounds for this problem – all ending with the copying of the URL from the address bar and pasting it in the message body, after deleting the really lame line of text. You can also drag the URL from the address bar and drop it in the message body. In Outlook 2002 on WinXP the URL is entered as text, not an attachment. In fact, all situations that previously resulted in a *.lnk attachment instead of a text URL now insert only a text URL. The Outlook/Office developers got it right this time.
Customizing the Script
You can edit the script in notepad and replace sTitle with sUrl in the mailto subject field, if you would rather have the URL in the subject field. You could also add words to the subject, such as "Thought you might like this", including the page title if you wish:
// Build mailto string var sMail = 'mailto:' + '?subject=' + "Thought you might like this: " + sTitle + '&body=' + sTitle + ' : ' + sUrl
If you often forward links to the same people, you can add the addresses to the string:
// Build mailto string var sMail = 'mailto:firstname.lastname@example.org' + '?subject=' + "Thought you might like this: " + sTitle + '&body=' + sTitle + ' : ' + sUrl;
You need to add the registry key to add the context menu item. In this sample, "Send Link by Mail" is the menu item shown on the context menu.
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\Send Link by Mail] @="c:\\windows\\web\\Send_Mail.HTM" "contexts"=dword:0000000
The script should work just as well with all later versions of IE and Outlook or other mail programs, if you want to send URLs but not send links too. You may need to change the path in the registry to c:\winnt\web, depending on your operating system.
Finally, while there is a limit to the number of context menu items you can have, there is no reason you can't use more than one of these scripts, customized for different purposes. Remember to use different file names and add a registry entry for each one.
Your registry should look something like this, with the correct file and path for your system:
Download Sig's Mailto script here.
Published January 16, 2011. Last updated on October 25, 2020.