• Outlook User
  • New Outlook app
  • Outlook.com
  • Outlook Mac
  • Outlook & iCloud
  • Developer
  • Microsoft 365 Admin
    • Common Problems
    • Microsoft 365
    • Outlook BCM
    • Utilities & Addins

Create a custom Send to... shortcut

Slipstick Systems

› Outlook › Create a custom Send to… shortcut

Last reviewed on August 11, 2025     118 Comments

Applies to: Outlook (classic), Outlook 2007, Outlook 2010

When you send attachments from Windows Explorer and use the Send to > Mail Recipient command, the message does not use your default stationery, signature, etc. If using Outlook 2010 pre-SP1, the email account may not be the default account set in Account Settings.

It’s possible to create a custom Send to shortcut that uses your default stationery and signature, with your desired email account selected.

Background: Modern versions of Windows have a feature called "Send to" which allows you to right click on a file in Windows Explorer and send it to one of several locations or applications, including "Mail Recipient". This feature does not require Outlook; it will work with any email client that is set as the default client in Internet Options.

When you use Send to... Mail Recipient, the message subject will be filled in with

Emailing: attachment_filename" and the message body will include a warning:

Your message is ready to be sent with the following file or link attachments:
attachment_filename
Note: To protect against computer viruses, e-mail programs may prevent sending or receiving certain types of file attachments. Check your e-mail security settings to determine how attachments are handled.

Test added to message

This text is added by the sendmail.dll file included in Windows and cannot be disabled. Select All (Ctrl+A) and begin typing to quickly remove the text in the message body.

Because of the method used to access Outlook, the Send to command will always use the Outlook editor, not Word (Outlook 2003 and older, if Word is set as your email editor) and a signature will not be added to the message body. If you use a default stationery, it will not be used.

You can use this method to create shortcuts that use custom forms, including pre-addressed forms.

However, you can make your own send to shortcut and it will honor your new message settings, including adding your default signature, using your stationery, and using the editor of your choice.

You cannot select multiple files to attach to a message using the Shortcut method. Use Joseph's Script Method if you want to select multiple attachments. Otherwise, you will need to add one file using the shortcut, then drag others to the open message form. If you use a shortcut you create to send images, you will not get the Image Resizer dialog that comes up with the Mail Recipient command.

If your send to menu is not working, see Send to Mail Recipient not working

Shortcut Method | Registry Method | Joseph's Script Method | More Information

Shortcut Method

To create your own shortcut, find the SendTo folder.

In Windows 7/8/10 and Vista, look for it at C:\Users\%username%\AppData\Roaming\Microsoft\Windows\SendTo. Use the following command to jump to the folder.

%appdata%\microsoft\windows\sendto

To jump to the folder, copy the correct command for your version of Windows and paste it into the address bar of Windows Explorer or in the Run command (open it using Windows key + R).

    1. Right click and choose New > Shortcut.
    2. Browse to find Outlook.exe, and add /c IPM.note to it.

Use the /a and /m address switches to add an attachment and address to the message.

With Outlook 2013 click-to-run, the command to add the selected file as an attachment and address the message will look like the following if you use 64-bit Office. The path is under C:\Program Files (x86)\ if you use 32-bit Office. Using the /c IPM.Note switch is optional and only necessary if you want to use a different message form.

"C:\Program Files\Microsoft Office 15\root\office15\outlook.exe" /c ipm.note /m email@address /a

Create a send to shortcut

The /m switch is optional. Leave it and the address off to address the message yourself.

Outlook 2016, 2019, 365:

"C:\Program Files\Microsoft Office\root\Office16\outlook.exe" /c ipm.note /a /m email@address.com

Outlook 2013

"C:\Program Files\Microsoft Office\root\Office15\outlook.exe" /c ipm.note /a /m email@address.com

Outlook 2010

"C:\Program Files\Microsoft Office\OFFICE14\OUTLOOK.EXE" /c ipm.note /a /m email@address.com

Outlook 2007

"C:\Program Files\Microsoft Office\OFFICE12\OUTLOOK.EXE" /c ipm.note /a

Using Outlook 2003, the command line looks like:

"C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE" /c ipm.note

Older versions of Outlook use the same command line as Outlook 2003 but with the correct path to Outlook.exe.

If you often send messages to the same people, you can use preaddressed custom forms or use the /m switch (/m test@slipstick.com or /m alias) in a shortcut's command line. Or you can create a custom form to use instead of the default form, just replace IPM.note with the name of your custom form.

The command line to address the message is as follows. Note: the /m switch doesn't work in combination with many other switches with all versions. If it's not working with your version of Outlook, you can use preaddressed published forms.

"C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE" /c ipm.note /m dianep

 

Create a custom Send to shortcut tutorial

Follow these steps to create a Send to shortcut to a custom form.

  1. Open a new message form.
  2. Select the account you want to use and delete the signature.
  3. If you always want to use the same subject, enter it.
  4. Publish the form to the default publishing location. (See Show developer ribbon if using Outlook 2007, 2010, 2013.)

Next:

  1. Go to the Send to folder. (C:\Users\%username%\AppData\Roaming\Microsoft\Windows\SendTo or %appdata%\microsoft\windows\sendto in Windows 78/10 and Vista)
  2. Right click and choose New, Shortcut.
  3. Browse to and select Outlook.exe (C:\Program Files\Microsoft Office\Office??\OUTLOOK.EXE)
  4. Type /c ipm.note.form_name /a following outlook.exe. The location field will resemble this line:
    "C:\Program Files\Microsoft Office\Office14\OUTLOOK.EXE" /c ipm.note.granny /a
    Click Next, enter a friendly name for the shortcut and finish.

Now when you right click on a file in Windows Explorer and choose your new shortcut from the send to menu, the new message will use the desired account, your default stationery and signature.
Notes:

  • If you delete the account from Outlook or change its name, the shortcut will revert to using the default account.
  • In older versions of Outlook, publish forms from the Tools, Forms menu.
  • In Windows XP, the Sendto folder is at C:\Documents and Settings\username\SendTo

 

Registry Method

Send to menu commandInstead of creating a shortcut in the Send to folder, you can edit the registry to add a command to the right-click context menu, just under the Open, Print, and Edit commands.

Note that when you use this method and select multiple items, you'll create one message for each attachment. You can't use this method to add multiple attachments to one messages. If you need to add multiple attachments, use the shortcut to open a new message form with one attachment then drag the other attachments to the open message.

To use this method, create the registry key

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\Send to Boss\Command

The default value will be the path to your Outlook.exe and the switches. As with the shortcut method, the address switch (/m) will not work with Outlook 2007/2010.

"C:\Program Files\Microsoft Office\Office11\OUTLOOK.EXE" /c ipm.note / m you@example.com "%1"

Download a .reg file here. Edit the path to reflect your version of Outlook and edit the display name as necessary then change the extension from txt to reg and double click to run.

Do it for me

Following are registry files that will create a basic Send to shortcut for Outlook 2010, 2007, and 2003.

Outlook 2016, 2019 - 64-bit or 32-bit on 32-bit Windows
Outlook 2013 - 64-bit or 32-bit on 32-bit Windows
Outlook 2010 - 64-bit or 32-bit on 32-bit Windows
Outlook 2007 on 32-bit Windows
Outlook 2003 on 32-bit Windows

 

Send to Mail Recipient not working

If you are missing the Mail Recipient shortcut in the Send to folder, go to the Send to folder then create a text file in the folder. Rename the file MailRecipient.MAPIMail (do not use .txt extension).

Copy the command and paste it as the text file name.

MailRecipient.MAPIMail

These are the steps if using Windows 8/10:

  1. Type shell:sendto in the File Explorer address bar to open the Send to folder.
  2. On the View tab, tick File Name Extensions to show extensions.
  3. Right-click and choose New > Text Document
  4. Paste MailRecipient.MAPIMail in as the file name & delete .txt

If that fails, rename Msmapi32.dll located under your Program files in Common Files\System\MSMAPI\1033 and run fixmapi.exe.
 

Joseph's Script Method

Joseph's method uses a windows script and allows you to select multiple files and attach them to a new message, preserving your signature and stationery settings.

To use, open Notepad then copy this code and paste it in to notepad. Save it as SendToMailRecipient.vbs. You can either save it in the SendTo folder or save it elsewhere and create a shortcut to it to place in the SendTo folder.

Adobe Acrobat addins may remove your signature when you use this script. Disable Adobe Send and Track to fix.

Option Explicit
Dim objArgs, OutApp, oNameSpace, oInbox, oEmailItem, olMailItem
Dim a, oAttachments, subjectStr, olFormatHTML
olMailItem = 0
olFormatHTML = 2
Set objArgs = WScript.Arguments 'gets paths of selected files
Set OutApp = CreateObject("Outlook.Application") 'opens Outlook
Set oEmailItem = OutApp.CreateItem(olMailItem) 'opens new email
For a = 0 to objArgs.Count - 1
Set oAttachments = oEmailItem.Attachments.Add(objArgs(a))
subjectStr = subjectStr & Right(objArgs(a),Len(objArgs(a))-(InStrRev(objArgs(a),"\"))) & ", " 'recreates the default Subject e.g. Emailing: file1.doc, file2.xls
Next
If subjectStr = "" then subjectStr = "No Subject "
oEmailItem.Subject = "Emailing: " & Left(subjectStr, (Len(subjectStr)-2))
oEmailItem.BodyFormat = olFormatHTML
oEmailItem.Display

Joseph's Script with a Signature

This version of Joseph's script adds a custom subject line with yesterday's date and a signature.

Option Explicit
Dim objArgs, OutApp, oNameSpace, oInbox, oEmailItem, olMailItem
Dim a, oAttachments, subjectStr, olFormatHTML
Dim objFSO,strSigFilePath, objSignatureFile, strBuffer
olMailItem = 0
olFormatHTML = 2

Set objArgs = WScript.Arguments 'gets paths of selected files
Set OutApp = CreateObject("Outlook.Application") 'opens Outlook
Set oEmailItem = OutApp.CreateItem(olMailItem) 'opens new email
For a = 0 to objArgs.Count - 1
Set oAttachments = oEmailItem.Attachments.Add(objArgs(a))
subjectStr = subjectStr & Right(objArgs(a),Len(objArgs(a))-(InStrRev(objArgs(a),"\"))) & ", " 
Next

Set objFSO = CreateObject("Scripting.FileSystemObject")
strSigFilePath = "C:\Users\windowsuser\AppData\Roaming\Microsoft\Signatures\"
Set objSignatureFile = objFSO.OpenTextFile(strSigFilePath & "Diane Poremsky.htm")
strBuffer = objSignatureFile.ReadAll
objSignatureFile.Close

oEmailItem.Subject = "Custom subject with yesterday's date " & date -1
oEmailItem.BodyFormat = olFormatHTML
oEmailItem.HTMLBody = "My custom body text about this attached file: " & Left(subjectStr, len(subjectStr)-2) &  ". " &  strBuffer

oEmailItem.Display

A user wanted to createCreate one message per selected file. Do this by moving the lines that count the files and create the message around.

Create one message per selected file
One message per file and ask for an address This sends all messages to one address. If they are going to different people, using Outlook's autocomplete list or address book will be easier.

More Information

Sending Files From Windows Explorer (Outlook-tips.net)
Send to... Using Your Stationery (Outlook-tips.net)
Send To Revisited (specific to Outlook 2007 and Vista; Outlook-tips.net)
Create a custom Send to... shortcut was last modified: August 11th, 2025 by Diane Poremsky
Post Views: 170

Related Posts:

  • Microsoft finally published a long-overdue KB article explaining why s
    Signatures and the Send to… command
  • Create appointments by dragging messages to Calendar
  • How to Create HTML Stationery for Outlook
  • Sync Calendar and Contacts Using Outlook.com

About Diane Poremsky

A Microsoft Outlook Most Valuable Professional (MVP) since 1999, Diane is the author of several books, including Outlook 2013 Absolute Beginners Book. She also created video training CDs and online training classes for Microsoft Outlook. You can find her helping people online in Outlook Forums as well as in the Microsoft Answers and TechNet forums.

Comments

  1. Stephen2060 says

    February 5, 2024 at 4:04 pm

    this solution is brilliant

    Reply
  2. Sarunas says

    September 7, 2023 at 3:18 am

    Hello,

    Problem with script is if folder path have spaces, script fails to attach with error "File name or directory name is not valid.". Is there any solution to solve this? Thank you.

    Reply
  3. Sarunas says

    July 20, 2023 at 7:38 am

    Joseph's Script doesn't work with OneDrive backup of folders (Desktop, Pictures, Documents). Is there any possible fix to this issue?

    Reply
  4. Christos says

    December 27, 2021 at 8:31 am

    Hi to everyone and Merry Christmas,
    Is it possible with the shortcut method to make the subject have the name of the file?.

    Thnx in advance

    Reply
  5. daniel says

    February 22, 2021 at 8:43 am

    is it possible to add a parameter that will change the email that i'm sending FROM? (have 2 email address on outlook)

    Reply
    • Diane Poremsky says

      March 8, 2021 at 12:54 am

      No, not using a switch.

      Reply
  6. Antony Upward says

    October 27, 2020 at 11:09 am

    Hi Diane,

    Thank-you for all your work here. Much appreciated over the years.

    I want to be able to create a new blank email from Explorer. Logically this should be done by Explorer -> Right Click on Empty Part of Desktop -> New -> Outlook Email Message

    But of course this entry is missing from the New sub-menu.

    (Here is someone else asking the same question)

    I know I can open Outlook with a new message using "outlook /c ipm.note". Is there any way to trigger this command (or equivalent) from either the "Send To" or "New" Explorer context sub-menus?

    Reply
  7. tim rice says

    July 24, 2020 at 10:28 am

    hi, i cant seem to get this to work using a g mail address within outlook, any other exchange account works fine. any suggestions?

    Reply
  8. tim rice says

    June 15, 2020 at 9:17 am

    hello. previously i used your method and i was sucessfull in selecting the outbound message account (all exchange accounts). i have recently added a g mail account to my outlook profile but seems the send from account reverts to the default account for my profile when using the short cut. the form was created in outlook and saved as an .ipm.note. and makes the short cut. it works except it doesnt use the "from" address i specified to make the send to short cut. if i click it the link inside the form menu, it uses the address i specified. is there another switch to indicate the send from address that i need to add to the short cut?
     
    tim
     

    Reply
  9. Croft says

    February 5, 2020 at 8:12 am

    Hi,

    I have tried to add this but I dont have an outlook.exe anywhere on my c: drive. I am running windows 10 and outlook 2016.

    I would just like to have the shortcut for send to mail recipient directly under 'open' & 'edit' on the right click menu, as per 'Registry Method' above.

    Any help would be much appreciated
    Cheers

    Reply
  10. Sven says

    January 20, 2020 at 3:39 am

    WOW! what you can find in the depths of the internet! Thank you! i have no idea about programming, but with the help of the information here i found a way to use "Joseph's Script Method" to create a mail to a specific recipient with the Sendto function from the Explorer. Now a question: Is it possible to attach several files (marked in the explorer) to different mails to the same recipient by inserting another line in the Script Method?

    Reply
    • Diane Poremsky says

      January 20, 2020 at 8:04 am

      You can open multiple new messages, one for each attachment by moving the for a = 0 line above the set emailitem line and moving next to the end.

      Reply
      • Diane Poremsky says

        January 20, 2020 at 8:17 am

        BTW, if you want to type in the address so the messages are ready to be sent, you can add two lines - this near the top, before the For a = line
        strAddress = InputBox( "Enter to address to send to:" )
        and this before you display the email
        oEmailItem.To = strAddress
        (and add strAddress to the second Dim line.)

        And yes, you could send it automatically too - change display to send, but if you do this, you need to make sure you don't mistype the address. :)

      • Sven says

        January 20, 2020 at 1:32 pm

        Oh, thanks for the quick answer! I'll try that. I'll let you know if it worked.

      • Sven says

        January 20, 2020 at 3:04 pm

        mmh. something I didn't understand or can't get right. No wonder, i have only a very vague idea what i am doing. i have shifted back and forth. but not the desired result. either error messages or one mail per attachment or one mail with 2 or 3 attachments (depending on how many i marked).

        where exactly must the "for a = 0" line go? - to the end and then: "Next"?
        and the whole "For a = 0 to objArgs.Count - 1" line?

        and: send automatically would be fine, but only in the next step. first i would like to get this first thing right. thank you for your patience!

      • Diane Poremsky says

        January 21, 2020 at 8:06 am

        I added a text file with the updated code in it - use that. There are two - one that opens a new message for each selected file and one that addresses each message to one person.

      • Sven says

        January 22, 2020 at 12:40 pm

        ah, thank you, Diane! i used this, changed it a bit ("emailing" in the subject-line out, this "inbox"-line too) and actually it works: e.g. three marked files in explorer and 3 mails with attachments are opened. just one thing: in the first mail - quite normal - the file name is shown in the subject line. but in the second mail, the file name of the first and second attachment, in the subject line of the third mail all 3 file names are shown (although only the -correct- 3rd file is attached).
        is there still a little mistake somewhere?

      • Diane Poremsky says

        January 30, 2020 at 12:27 am

        you need to clear the variable after each message is created.
        either right after the for line or before next...
        For a = 0 to objArgs.Count - 1
        subjectStr = "" <== here[snip] oEmailItem.DisplaysubjectStr = "" <== or here (but not both) Next

  11. rsbrux says

    October 10, 2019 at 11:55 am

    I use Outlook 2016 (Office 365) under Windows 8.Pro x64. My Send to Mail Recipient used to work as expected, but since the October updates,

    • If Outlook isn't open, the Outlook profile selector opens, but then when I select an Outlook profile, nothing else happens.
    • If Outlook is already open, nothing happens.

    The file MailRecipient.MAPIMail already exists in shell:sendto. It is a text file containing the single word "Mail" (without the quotes).
    I have tried the following:

    • using the Office Configuration Analyzer Tool (CAT) v2.2
    • repairing Outlook (from Control Panel - Programs & Features)
    • regsvr32 sendmail.dll (produces the error message "The module "sendmail.dll" was loaded but the entry-point DLLRegisterServer was not found. Make sure that "sendmail.dll" is a valid DLL or OCX file and then try again.")
    • your registry file for Outlook 2016 (which, BTW has text identifying it as using Outlook 2010): no new entry appears in the context menu

    I found two identical copies of MSMAPI32,DLL, one in c:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX86\SYSTEM\MSMAPI\1031\ and one in c:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX86\SYSTEM\MSMAPI\1033\, but I found two *different* versions of fixmapi.exe, one in c:\Windows\System32\ and one in c:\Windows\SysWOW64\. Which one should I use to recreate MSMAPI32.DLL?

    I would prefer not to use a VBS script. Is there anything else I can do, short of waiting for MS to issue another update which fixes the problem?

    Reply
    • Diane Poremsky says

      October 10, 2019 at 4:04 pm

      i'll see if i can repro your problems - but you first steps would be to delete the shortcut and recreate it. (I can't repro it in a quickie test, but will try on it on different computers.)
      https://www.slipstick.com/outlook/create-a-custom-send-to-shortcut/#sendto

      Reply
      • rsbrux says

        October 14, 2019 at 1:56 pm

        Thanks for your prompt response! I have meanwhile tried deleting and recreating the Mail Recipient shortcut, as described under "Send to Mail Recipient not working" above. From your text above it sounds as though the file should have no content, however, I have read elsewhere that it should contain the text "Mail" (without quotes). I have tried both versions without success. I also tried deleting both copies of MSMAPI32.DLL which I mentioned above and then running both copies of fixmapi.exe which I found (one in System32 and one in SysWOW64) from a privileged command window. Neither of these showed any effect (not even any standard output). In particular, they did not recreate MSMAPI32.DLL. I restored both copies from the recycle bin to stop Send To Mail Recipient from throwing an error. Now it is back to its previous behaviour. Thanks for your support!

      • Diane Poremsky says

        October 15, 2019 at 1:07 am

        the default sendto shortcut will have mail in it, but if you need to recreate it, you only need to change the file name - it will work (for most people anyway :))

        did you run fixmapi?

      • rsbrux says

        October 22, 2019 at 5:13 am

        " I also tried deleting both copies of MSMAPI32.DLL which I mentioned above and then running both copies of fixmapi.exe which I found (one in System32 and one in SysWOW64) from a privileged command window. Neither of these showed any effect (not even any standard output). In particular, they did not recreate MSMAPI32.DLL. I restored both copies from the recycle bin to stop Send To Mail Recipient from throwing an error. Now it is back to its previous behaviour." meaning that I get no response from "send to Mail Recipient" if Outlook is already running. If Outlook isn't already running, it starts and displays the profile selection menu. Once I select a profile, nothing further happens (i.e. no Outlook GUI appears and no Outlook process is listed in Task Manager).
        I also created a "Command" key in the registry under HKLM\Software\Classes\shell\Outlook2016 (see attachment) containing the command "C:\Program Files\Microsoft Office\Office16\OUTLOOK.EXE" /c IPM.Note /a "%1" However, clicking the resulting context menu entry "Outlook 2016" only displays the dialog "How do you want to open this file?", regardless of whether Outlook is already running.
        Thanks for your support!

      • Diane Poremsky says

        October 23, 2019 at 1:34 am

        Which office installation type do you have? Is the path to outlook correct in your key?

        The key i need is:
        [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\Outlook 2016\Command]
        @="\"C:\\Program Files\\Microsoft Office\\root\\Office16\\OUTLOOK.EXE\" /c IPM.Note /a \"%1\""

      • rsbrux says

        October 31, 2019 at 10:34 am

        I have an Office 365 subscription from a school. The path of the registry key was correct, but the value was missing a few extra backslashes and quotation marks compared to what you give above. Replacing the value with the one you suggest above results in the message, "Windows cannot access the specified device, path or file. You may not have the appropriate privileges to access the item" when I click on "Outlook 2016" in the Explorer context menu. However, the regular SendTo link in the context menu is now working again, so I have deleted the new key. I guess a more recent MS patch has fixed the problem; the only question is, for how long? ;-)

  12. Sergio says

    January 18, 2018 at 6:26 pm

    Hello,
    Thank you for the article.
    I created my own "Send to" shortcut and my custom form. It works, but I have a few questions:
    1. I have two email accounts on my laptop and I would like to send messages using my shortcut and my custom form from specific account. Though the custom form saved with necessary account in "From" field, Outlook tries to send them from default account and I have to change it manually. Is there any solution to solve this problem?
    2. When I send files from Windows Explorer I would like that file name was inserted automatically into "Subject" line and into specific place of body text. Is it possible?
    Outlook 2016
    Thank you in advance.

    Reply
    • Diane Poremsky says

      January 20, 2018 at 10:00 pm

      On 1 - saving the template with the account selected works for new items using the form, if you open it from outlook. It's not working if you do it in the send to link. Joseph's script method could handle #2 (but may need tweaked to do it).

      Reply
      • Sergio says

        January 21, 2018 at 11:43 am

        Thanks a lot.
        I have a few questions about Joseph's script method.
        Please let me know if there are any options to:
        1. remove file extension from the email subject line;
        2. request a delivery and read receipt;
        3. insert new lines in body text.
        For example:
        Line 1 = "Hello,"
        Line 2 = "My custom body text about this attached file: "
        Thank you in advance.

      • Diane Poremsky says

        January 21, 2018 at 6:04 pm

        2 & 3 are easy - removing the extension can be done, but i don't have the code to do it (and don't have time to figure it out right now). This part removes the path, leaving just the attachment name: Right(objArgs(a),Len(objArgs(a))-(InStrRev(objArgs(a),"\"))) - you need to get the left, less either 4 or calculate the position of the . I would probably do something like this (but that isn't working for me)
        strName = left(objArgs(a),Len(objArgs(a))-(InStr(objArgs(a),"."))
        subjectStr = subjectStr & Right(strName,Len(strName)-(InStrRev(strName,"\")))

        oEmailItem.Body = "Hello," & vbcrlf & "My custom body text about this attached file: "
        oEmailItem.ReadReceiptRequested = True
        oEmailItem.OriginatorDeliveryReportRequested = True

      • Sergio says

        January 22, 2018 at 3:41 pm

        Well done! Thank you very much!
        #3 I've made in such way:
        oEmailItem.HTMLBody = "

        Line 1 of my custom text,

        Line 2 of my custom text."
        #2 works with your code.
        #1 I couldn't solve it unfortunately. I would be very grateful if you could help me to hide or remove file extension.

      • Diane Poremsky says

        January 23, 2018 at 11:36 pm

        >> #1 I couldn't solve it unfortunately. I would be very grateful if you could help me to hide or remove file extension.
        I worked on the removing the file extension and so far, my attempts fail. I'll keep trying.

      • Sergio says

        January 24, 2018 at 3:27 pm

        Thank you! I've already solved it.

      • Adam Rowe says

        October 17, 2024 at 8:19 am

        Please can you share how you removed the file extension text from the subject line?

      • Diane Poremsky says

        October 17, 2024 at 4:01 pm

        This removes the extension from the subject - it's a little easier to read than doing it all in one line.

        After stripping the path from the file name, get the position of the period then keep the left-most characters, less 1 (the period)

        Need to add strName, lenstr to the Dim list.

        It goes in between the first and last lines of the snippet.

        Set oAttachments = oEmailItem.Attachments.Add(objArgs(a))
        strName = Right(objArgs(a),Len(objArgs(a))-(InStrRev(objArgs(a),"\")))

        lenstr = InStrRev(strName, ".")

        strName = left(strName,lenstr - 1)

        subjectStr = subjectStr & strName & ", "
        Next

        Set objFSO = CreateObject("Scripting.FileSystemObject")

  13. Charles Asselin says

    October 6, 2017 at 4:14 pm

    I am looking to use a different signature than the default signature.

    I currently use about 15 different signatures.

    Can I specify a different signature for each SendToMailRecipient that I create?

    Reply
    • Diane Poremsky says

      October 7, 2017 at 5:10 pm

      Yes, you can, using the Joseph script for signatures. You'll need to make a different script for each signature, change the path to the desired signature.

      Reply
      • Charles Asselin says

        October 13, 2017 at 4:23 pm

        I had to go back to my days of dropping out of computer programming college... but with you I figured it out!

        I was having trouble finding the correct file location of the signatures and there are 3 separate files for each signature.

        Thank you for all of your help!

  14. David says

    August 4, 2017 at 6:54 am

    Hi
    thanks for the useful tips. I have used Joseph's script which works well.

    the problem is that the "send to mail recipient" function from Microsoft allows you to chooses the size of the attached file. I cannot seem to get this working.

    I am using Windows 10 and Office 2013

    Reply
    • Diane Poremsky says

      August 5, 2017 at 11:46 am

      Yeah, when you send images using this method, you can't adjust the size as this just picks up the file and attached it. I'm not sure if we can script that function for images.

      Reply
  15. Alon says

    July 31, 2017 at 3:37 am

    Hi Dianne,
    I reached your lovely post (not for the first time, thanks!!!) trying to solve a slightly different problem (Outlook Pro Plus 2016 V1706, Win10 Pro 1703).
    Trying to selects any file from file explorer to "send to Email", the system hangs a few seconds and the file explorer closes silently (no error messages) and no new Email opens. With images, the resize pop up appears yet same final result after size selection.
    Per your "not working" part: I found 2x Msmapi32.dll in slightly different paths, 1033 and 1037, renamed both to Msmapi32-OLD.dll, ran fixmapi.exe, nothing happened and problem persists.
    The "sendto" properties looks odd to me (I'm no techie) as it "opens with an unknown application", but "type of file" looks OK (Mail service .MAPImail).
    My default mail app is correctly marked as Outlook and works well from other applications or web sites trying to generate Emails.

    Ideas?

    Really love your posts!

    Thanks, Alon

    Reply
    • Diane Poremsky says

      August 5, 2017 at 11:54 am

      >> Per your "not working" part: I found 2x Msmapi32.dll in slightly different paths, 1033 and 1037,
      Did you either have Office in one language installed and swapped it for another or add a language pack? Either would account for the two under the language id's. (1033 is English, 1037 is Hebrew)
      Did fixmapi add either of the two files back?

      I would go into the sendto folder (shell:sendto in the address bar of file explorer) and delete the Mail recipient entry then recreate it using the steps at these instructions. Make sure you are showing extensions so you can remove the txt extension.

      If that fails, an online repair should fix it. (fingers crossed! :))

      Reply
  16. Arxondas says

    July 22, 2017 at 6:18 am

    Hello,

    I get an error when trying to use the vbs script.

    Please help..

    Thanks

    Reply
    • Diane Poremsky says

      July 22, 2017 at 7:14 am

      What does the error message say? That should give me a clue as to what might be he problem.

      Reply
      • Arxondas says

        July 22, 2017 at 7:41 am

        I attached a pic with the error.

        Can you see it or I did something wrong

      • Diane Poremsky says

        July 22, 2017 at 8:50 am

        No, it was me. I'm using an app on my iPad and can't see the marker telling me it had an attachment. Sorry about that. I'll look at it from the web page.

    • Diane Poremsky says

      July 22, 2017 at 9:14 am

      Hmm. If you didn't also post as Kostas, there could be a problem with the update. I would first try repairing the office install. I'll see if I can repro on my systems.

      Reply
      • Arxondas says

        July 22, 2017 at 9:29 am

        Thanks for your replay.
        I did full unistall of office and reinstall it again and now it works...!!

        Thanks again..

  17. Kostas says

    July 22, 2017 at 5:00 am

    Hello,
    I have 3 pc's with windows 10 (fully updated).
    I have use it on 2 pc's and working fine but on my 3rd pc, I get en error
    Active X component cant create object 'Outlook.Application"
    Code : 800a01ad
    Source : Microsoft vbsscript runtime error

    Any ideas how to fix it please.

    Thank you

    Reply
    • Diane Poremsky says

      July 22, 2017 at 8:47 am

      Are you logged into the 3rd party using the same type of account (ie, administration or user account)? Did you try running repair on office?

      Reply
  18. Stephen says

    April 12, 2017 at 7:47 am

    Hi
    I've been searching everywhere for a fix t my missing SendTo Mail option in the Context Menu.

    I have recreated a MailMAPI file as described here and other forums - all to no effect.

    You seem to have the solution but the instructions are somewhat beyond me.

    While I can handle a keyboard I am not a technical wiz so apologies for not being able to follow your detailed instructions, e.g. scripts, regedits, etc.

    Can you provide me with "an idiots step by step guide" to restoring the SendTo Mail option please. I am running Windows 10 and Outlook 2010.

    Much appreciated.

    Reply
    • Diane Poremsky says

      April 14, 2017 at 1:09 am

      Are you trying to restore a missing send to mail recipient shortcut or use one of the other solutions?
      This replaces the missing send to mail recipient shortcut:
      Type shell:sendto in the File Explorer address bar.
      On the view tab, tick File Name Extensions.
      Right click and choose New > Text Document
      Paste MailRecipient.MAPIMail in as the file name & delete .txt

      Reply
  19. Dan says

    January 11, 2017 at 6:36 pm

    Thanks Diane,

    I used Joseph's Script in Microsoft Outlook 2010 with great results.

    Reply
  20. leon says

    November 20, 2016 at 12:55 pm

    Can you please tell me where can i find the fixmapi.exe?

    I found one in system32 folder but nothing happens when i execute it.

    Reply
  21. Roberto Blatt says

    October 24, 2016 at 11:26 pm

    PS: How can I change Joseph's Script Method so that it keeps the names of the attached files in the body of the message?
    Thanks

    Reply
    • Diane Poremsky says

      October 25, 2016 at 11:34 am

      you'd use this method, with the body: oEmailItem.body - if you want in subject and body, duplicate the lines, otherwise just change the last one to use the body.

      'recreates the default Subject e.g. Emailing: file1.doc, file2.xls
      subjectStr = subjectStr & Right(objArgs(a),Len(objArgs(a))-(InStrRev(objArgs(a),"\"))) & ", "
      Next
      If subjectStr = "" then subjectStr = "No Subject "
      oEmailItem.Subject = "Emailing: " & Left(subjectStr, (Len(subjectStr)-2))

      Reply
  22. Roberto Blatt says

    October 24, 2016 at 11:04 pm

    Joseph's Script Method is great!!!
    Adding the vbs to C:\Users\%userprofile%\AppData\Roaming\Microsoft\Windows\SendTo was the perfect solution. I just edited to omit "Emailing: "

    Thanks very much

    Reply
  23. Andre says

    August 1, 2016 at 11:59 am

    Diane, you are a life saver.

    Reply
  24. Tina says

    April 29, 2016 at 8:35 pm

    I'm a little confused. Which method retains the file name as the subject? I need to send individual emails to same recipient.

    Reply
    • Diane Poremsky says

      April 30, 2016 at 12:19 am

      It's been a while since I used any of these methods - The one that uses the C switch to load a custom form definitely won't work. If you are sending the file,s one per message to the same person, this macro might work better for you - https://www.slipstick.com/developer/macro-send-files-email/ you can set the attachment name as the subject (replace the text used for the subject with fName)

      Reply
  25. Armin says

    October 14, 2015 at 3:50 am

    Excellent, works great! Thanks!

    Reply
  26. Fromager says

    September 7, 2015 at 6:05 am

    Hello, do you know why SendTo does not work if we select more than one file (on Outlook 2013 - Windows 7) ? Thanks in advance.
    Yo

    Reply
    • Diane Poremsky says

      October 25, 2015 at 5:50 pm

      This is the native sendto that comes with windows, not a custom send to you created? It should work with the native sendto but won't work with most custom options.

      Reply
      • Fromager says

        March 21, 2017 at 4:36 am

        A the time of my question, I dont remember :)
        But now, it is a custom one...Thank you

  27. Ally says

    August 27, 2015 at 8:00 am

    Thanks Diane. Work perfectly! (inserting the line after "oEmailItem.Display".)

    Reply
  28. Ally says

    August 26, 2015 at 9:22 am

    Joseph's script does exactly what I want. However, if I add some custom body text, e.g., :

    oEmailItem.Body = "My custom body text about this attached file: " & Left(subjectStr, (Len(subjectStr) ))

    The signature doesnt get included. Any way around this please?

    Reply
    • Diane Poremsky says

      August 26, 2015 at 9:04 pm

      It's because you are overwriting the email body. Try this:

      oEmailItem.Body = "My custom body text about this attached file: " & Left(subjectStr, (Len(subjectStr) )) & vbcrlf & oEmailItem.Body

      If you are using HTML and have links in your signature, use oEmailItem.HTMLBody instead of oEmailItem.Body so the links aren't messed up.

      Reply
      • Edward Thibedeau says

        March 2, 2017 at 2:15 pm

        Had the same issue as Ally after adding boilerplate text to body of email. No signature. So I added code as written above - oEmailItem.Body = "My custom body text about this attached file: " & Left(subjectStr, (Len(subjectStr) )) & vbcrlf & oEmailItem.Body -

        But it does not work. Have same situation of no signature. Seems to be that when text is added with this script in body. The body then becomes plain text - even though HTML is selected.

        Here is my entire script:
        Option Explicit
        Dim objArgs, OutApp, oNameSpace, oInbox, oEmailItem, olMailItem
        Dim a, oAttachments, subjectStr, olFormatHTML
        olMailItem = 0
        olFormatHTML = 2
        Set objArgs = WScript.Arguments 'gets paths of selected files
        Set OutApp = CreateObject("Outlook.Application") 'opens Outlook
        Set oEmailItem = OutApp.CreateItem(olMailItem) 'opens new email
        For a = 0 to objArgs.Count - 1
        Set oAttachments = oEmailItem.Attachments.Add(objArgs(a))
        subjectStr = subjectStr & Right(objArgs(a),Len(objArgs(a))-(InStrRev(objArgs(a),""))) & ", " 'recreates the default Subject e.g. Emailing: file1.doc, file2.xls
        Next
        If subjectStr = "" then subjectStr = "APM Engineering Report for "
        oEmailItem.Subject = "APM Engineering Report for "
        oEmailItem.To = "ABC@ABC.com"
        oEmailItem.BodyFormat = olFormatHTML
        oEmailItem.Body = "Please ensure that appropriate aircraft drawing files and index are updated with this latest version of the APM Engineering Report. A copy of this report must be provided to the aircraft owner. " & Left(subjectStr, (Len(subjectStr) )) & vbcrlf & oEmailItem.Body
        oEmailItem.Display

        Using notepad and saving as .vbs is there a way to add paragraphs in vb script? If That can be done then signature could just be part of the script.

      • Diane Poremsky says

        March 20, 2017 at 12:25 am

        Use HTMLBody:
        oEmailItem.HTMLBody= "Please ensure that appropriate aircraft drawing files and index are updated with this latest version of the APM Engineering Report. A copy of this report must be provided to the aircraft owner. " & Left(subjectStr, (Len(subjectStr) )) & vbcrlf & oEmailItem.HTMLBody

      • Edward Thibedeau says

        March 2, 2017 at 3:23 pm

        To be more precise, what the added coding: & Left(subjectStr, (Len(subjectStr) )) & vbcrlf & oEmailItem.Body does is insert this; Send to Link Using Personal Stationary.docx,

      • Diane Poremsky says

        March 20, 2017 at 12:25 am

        Are you creating the message from a template?
        Setting the template first shouldn't pick up the template name in the body.
        Set newItem = Application.CreateItemFromTemplate("C:\Users\Diane\Templates\email.oft")

      • E Thibedeau says

        April 20, 2017 at 10:55 am

        Diane, Ally's question was about adding or retaining email signature. The code you provided "& Left(subjectStr, (Len(subjectStr) )) & vbcrlf & oEmailItem.Body" adds the attached file name to the email message body.

        Is there a way to add/include the normal HTML signature?

      • Diane Poremsky says

        April 20, 2017 at 12:01 pm

        if the default is to add a signature to a new message, it should be added when you run this code:
        Set oEmailItem = OutApp.CreateItem(olMailItem) 'opens new email

        the .body at the end of the body keeps it:
        oEmailItem.HTMLBody = "My custom body text about this attached file: " & Left(subjectStr, (Len(subjectStr) )) & vbcrlf & oEmailItem.HTMLBody

        the new body will look like this:
        My custom body text about this attached file: filename from subject
        original body, which has signature

        if a signature is not added automatically to new messages, then you either need to build it into the HTML or add it using scripting.
        oEmailItem.HTMLBody = "My custom body text about this attached file: " & Left(subjectStr, (Len(subjectStr) )) & vbcrlf & "My Name" & vbcrlf & "my title"

        Set objFSO = CreateObject("Scripting.FileSystemObject")
        strSigFilePath = "C:\path to html\" 'default is C:\Users\%username%\AppData\Roaming\Microsoft\Signatures\
        Set objSignatureFile = objFSO.OpenTextFile(strSigFilePath & "my signature name.htm")
        strBuffer = objSignatureFile.ReadAll
        objSignatureFile.Close
        oEmailItem.HTMLBody = "My custom body text about this attached file: " & Left(subjectStr, (Len(subjectStr) )) & vbcrlf & strBuffer

      • Ed Thibedeau says

        April 26, 2017 at 5:47 pm

        Diane,
        I added your scripting just as you wrote it. Only changed path for signautre file and name. Still get compilation error Line 23, Char 21 Expected Statement Code 800A0400. Here's my full script.

        Option Explicit
        Dim objArgs, OutApp, oNameSpace, oInbox, oEmailItem, olMailItem
        Dim a, oAttachments, subjectStr, olFormatHTML
        olMailItem = 0
        olFormatHTML = 2
        Set objArgs = WScript.Arguments 'gets paths of selected files
        Set OutApp = CreateObject("Outlook.Application") 'opens Outlook
        Set oEmailItem = OutApp.CreateItem(olMailItem) 'opens new email
        For a = 0 to objArgs.Count - 1
        Set oAttachments = oEmailItem.Attachments.Add(objArgs(a))
        subjectStr = subjectStr & Right(objArgs(a),Len(objArgs(a))-(InStrRev(objArgs(a),""))) & ", " 'recreates the default Subject e.g. Emailing: file1.doc, file2.xls
        Next
        If subjectStr = "" then subjectStr = "APM Engineering Report for "
        oEmailItem.Subject = "APM Engineering Report for "
        oEmailItem.To = ""
        oEmailItem.BodyFormat = olFormatHTML

        oEmailItem.HTMLBody = "My custom body text about this attached file: " & Left(subjectStr, (Len(subjectStr) )) & vbcrlf & "My Name" & vbcrlf & "my title"
        Set objFSO = CreateObject("Scripting.FileSystemObject")
        strSigFilePath = C:UsersTHIBEAppDataRoamingMicrosoftSignaturesET.htm
        Set objSignatureFile = objFSO.OpenTextFile(strSigFilePath & "ET.htm")
        strBuffer = objSignatureFile.ReadAll
        objSignatureFile.Close
        oEmailItem.HTMLBody = "My custom body text about this attached file: " & Left(subjectStr, (Len(subjectStr))) & vbcrlf & strBuffer

      • Diane Poremsky says

        May 1, 2017 at 1:00 pm

        1. Did you dim all of the variables you added? When you use option explicit, it requires all variables be dim'd.
        2. These lines:
        strSigFilePath = C:UsersTHIBEAppDataRoamingMicrosoftSignaturesET.htm
        Set objSignatureFile = objFSO.OpenTextFile(strSigFilePath & "ET.htm")
        point to C:UsersTHIBEAppDataRoamingMicrosoftSignaturesET.htmET.htm
        use
        strSigFilePath = "C:\Users\THIBE\AppData\Roaming\Microsoft\Signatures\"
        Set objSignatureFile = objFSO.OpenTextFile(strSigFilePath & "ET.htm")
        (if the slashes are removed, make sure signatures ends with a slash)

        3. The first line does nothing because the subject is set by the second line
        If subjectStr = "" then subjectStr = "APM Engineering Report for "
        oEmailItem.Subject = "APM Engineering Report for "
        you can remove these lines
        subjectStr = subjectStr & Right(objArgs(a),Len(objArgs(a))-(InStrRev(objArgs(a),""))) & ", " 'recreates the default Subject e.g. Emailing: file1.doc, file2.xls
        Next
        If subjectStr = "" then subjectStr = "APM Engineering Report for "

        ETA: actually, you need the subjectStr line if you want the filenames in the body.

      • Diane Poremsky says

        May 1, 2017 at 1:09 pm

        oh and you need oEmailItem.Display at the end to display the message.
        if you aren't going to automatically address the message you can remove this line:
        oEmailItem.To = "" ' Add email address here and it will autofill in email To
        the strSubject line wasn't working either (for the filename in the body) - it was coming up empty. The one in the original macro works.

      • Ed T says

        May 15, 2017 at 5:03 pm

        Diane,
        Used the latest script version you provided. Still getting compilation error. See attached.
        Here's the entire script again as I used it.
        Option Explicit
        Dim objArgs, OutApp, oNameSpace, oInbox, oEmailItem, olMailItem
        Dim a, oAttachments, subjectStr, olFormatHTML
        olMailItem = 0
        olFormatHTML = 2
        Set objArgs = WScript.Arguments
        Set OutApp = CreateObject("Outlook.Application")
        Set oEmailItem = OutApp.CreateItem(olMailItem)
        For a = 0 to objArgs.Count - 1
        Set oAttachments = oEmailItem.Attachments.Add(objArgs(a))
        subjectStr = subjectStr & Right(objArgs(a),Len(objArgs(a))-(InStrRev(objArgs(a),""))) & ", "

        oEmailItem.Subject = "APM Engineering Report for "

        oEmailItem.To = ""

        oEmailItem.BodyFormat = olFormatHTML

        Set objFSO = CreateObject("Scripting.FileSystemObject")
        Dim strSigFilePath = C:UsersTHIBEAppDataRoamingMicrosoftSignatures"
        Set objSignatureFile = objFSO.OpenTextFile(strSigFilePath & "ET.htm")
        strBuffer = objSignatureFile.ReadAll
        objSignatureFile.Close

        oEmailItem.HTMLBody = "Please ensure that appropriate aircraft drawing files and index are updated with this latest version of the APM Engineering Report. A copy of this report must be provided to the aircraft owner "

        oEmailItem.Display

        =========================
        Just a note -I'm selecting to be notified by email when comments are made but I never get any emails.

      • Diane Poremsky says

        May 24, 2017 at 6:06 pm

        One problem: first, the dim does not belong in the list, strSigFilePath should be dimmed at the top with the others and the leading quote is missing from the path.
        Dim strSigFilePath = "C:UsersTHIBEAppDataRoamingMicrosoftSignatures"
        (The slashes are missing too, but I'm assuming that is not your doing - and the site software did it).
        You need this line with the other dim's: Dim objFSO,strSigFilePath, objSignatureFile, strBuffer

        Attached is a text file that works for me - i changed it back to your user and signature file - remove the .txt and put it in the send to folder.

        >> Just a note -I'm selecting to be notified by email when comments are made but I never get any emails.
        Did you check your junk mail folder? I know some notifications are getting thru, so it's working.

      • Ed T says

        May 1, 2017 at 5:07 pm

        I added a couple of dims. Did I get all that's needed? Script does not work still. Get Line 18 Char 20 Error Expected end of statement Code 800A0401. Here's my latest version:
        Option Explicit
        Dim objArgs, OutApp, oNameSpace, oInbox, oEmailItem, olMailItem
        Dim a, oAttachments, subjectStr, olFormatHTML
        olMailItem = 0
        olFormatHTML = 2
        Set objArgs = WScript.Arguments
        Set OutApp = CreateObject("Outlook.Application")
        Set oEmailItem = OutApp.CreateItem(olMailItem)
        For a = 0 to objArgs.Count - 1
        Set oAttachments = oEmailItem.Attachments.Add(objArgs(a))
        subjectStr = subjectStr & Right(objArgs(a),Len(objArgs(a))-(InStrRev(objArgs(a),""))) & ", "
        oEmailItem.Subject = "APM Engineering Report for "
        oEmailItem.To = ""
        oEmailItem.BodyFormat = olFormatHTML
        Set objFSO = CreateObject("Scripting.FileSystemObject")
        Dim strSigFilePath = C:UsersTHIBEAppDataRoamingMicrosoftSignatures"
        Set objSignatureFile = objFSO.OpenTextFile(strSigFilePath & "ET.htm")
        strBuffer = objSignatureFile.ReadAll
        objSignatureFile.Close
        oEmailItem.HTMLBody = "My custom body text about this attached file: " & Left(subjectStr, (Len(subjectStr) )) & vbcrlf & strBuffer

        oEmailItem.Display

      • Diane Poremsky says

        May 1, 2017 at 5:18 pm

        i added the script i tested to the page, after the original script. The screenshot shows what i get when i run it.

  29. Erick says

    July 30, 2015 at 12:18 pm

    This function works in Lotus notes? can any one knows?

    Reply
    • Diane Poremsky says

      July 30, 2015 at 12:39 pm

      Are you using Outlook as the mail client or the Notes client? The examples on this page only work with outlook as they call outlook.exe in the registry or code.

      Reply
  30. Richard Gray says

    July 29, 2015 at 3:21 pm

    This works
    Thank you

    Reply
  31. Richard says

    July 23, 2015 at 2:41 pm

    Joseph's Script Methods works great
    Except it does use my "Default" IMAP account
    Instead it uses the first listed POP account (So I have to fix this before I send)

    The Inbuilt Microsoft "Send to:" "Mail Recipient" does use the default account

    Does anyone know what's going on, and a fix

    Thank you,
    Richard

    Reply
    • Diane Poremsky says

      July 29, 2015 at 12:24 am

      Try the registry change at https://www.slipstick.com/outlook/outlook-2010/multiple-accounts-and-the-default-account/#sp1

      Reply
  32. toneking1989 says

    June 18, 2015 at 8:28 am

    Is there a way to do this by having it copy paste the body into Outlook? Not looking to do this as an attachment.

    Reply
    • Diane Poremsky says

      July 29, 2015 at 12:22 am

      You mean insert the contents of the file as text? You can, but it depends on the file type. I have a macro sample at https://www.slipstick.com/outlook/email/create-new-message-using-html-file-stationery/ that uses the newest HTML file in the a folder.

      Reply
  33. Igor Diamant says

    May 13, 2015 at 10:37 am

    The script solution was perfect! I had this problem for a long time... Thank You!

    Reply
  34. Ed Thibedeau says

    March 20, 2015 at 3:41 pm

    I have been using this shortcut for several months now. Works GREAT!!! However, I realize it would also be nice to have these emails have a standard line of text in the email body. Is there anyway to add code to this Shortcut method to do that? If so, what would be the code and where would it be placed within the existing code?

    Reply
    • Diane Poremsky says

      March 20, 2015 at 11:34 pm

      The only way you could do that is by using a custom template.

      Reply
  35. Brian says

    November 13, 2014 at 2:42 pm

    Getting a
    Line:7
    Char:1
    Error: Out of memory; 'CreateObject'

    Windows 7 64
    Office 2010 64bit

    Any thoughts?

    Reply
    • Diane Poremsky says

      November 15, 2014 at 11:17 pm

      I wonder if it's because it's 64bit Outlook. It shouldn't matter - but i tested it on 32bit and it works fine.

      Reply
  36. Rody says

    April 10, 2014 at 1:14 pm

    Is it possible to add hotmail pop account under send to menu instead of outlook client.with .mapimail......thanks

    Reply
    • Diane Poremsky says

      April 10, 2014 at 1:28 pm

      Is the Hotmail account configured in Outlook? If so, yes. If not, the Sent to Mail Recipient command uses the default email client and default account.

      If the account is in outlook but is not the default account, create a custom form with the account selected and save it. Use it in the switch.

      Reply
  37. Douglas says

    November 25, 2013 at 6:51 am

    I am using Outlook 2003 (11.8330.8405) SP3. It did not seem to work as I indicated above, but I played around with it this weekend. I copied Joseph's script from above and added a line just below the oEmailItem.Subject line .....
    oEmailItem.To = "Person"
    Now I can 'send to' and choose that vbs entry and it works!
    Hope this helps someone else.
    Thanks for your quick reply. Let me know if you have any other thoughts.

    Reply
  38. Douglas says

    November 22, 2013 at 2:49 pm

    Hello! Can you help. I followed your advice above and created a shortcut named People in the specified "sendto" folder. It is..... __ "C:\Program Files\Microsoft Office\OFFICE11\OUTLOOK.EXE" /c ipm.note /m People ___ People is an alias for several email addresses which I use to frequently send the same file. When I right click a file and choose 'send to People' I get an error message "Cannot start MS Office Outlook. The command line argument is not valid. Verify the switch you are using." However, when i simply doubleclick the shortcut I created, it will launch Outlook with the "To" address filled in with my alias of 'People' I even tried just using a single email address instead of the alias which also did not work when right clicking. Please help if you can.
    Thx

    Reply
    • Diane Poremsky says

      November 22, 2013 at 10:02 pm

      Which version of Outlook? The /m switch doesn't work with newer versions of Outlook.

      Reply
  39. Kelley says

    June 7, 2013 at 12:57 pm

    AWESOME! THANK YOU!

    Reply
  40. fp says

    March 4, 2013 at 10:13 pm

    Thank you very much for the best decision! I needed this so much!

    Reply
  41. amit janweja says

    January 1, 2013 at 12:32 pm

    this is just awsome. the video tutorial helped me a lot to save my time.
    there is one drawback and that kind of forces me to not use this trick.

    please let me know if there is any possible way of saving the HTML Format that was used to save the form.

    Reply
    • Diane Poremsky says

      January 1, 2013 at 9:06 pm

      It should use HTML. Which method are you using?

      Reply
  42. Eric says

    October 31, 2012 at 2:08 pm

    Is there a way to use this script to make a sort of "Drop Folder" where one could "drop" the files they want to email onto the folder and the script would open up the new email with the files attached?

    Reply
  43. Matt says

    June 28, 2012 at 5:47 pm

    Thanks Joseph, This solution should be 1st on the page..

    Reply
  44. Hennie van Vollenstee says

    June 8, 2012 at 12:37 am

    Good Day,

    The shortcut command works great. Unfortunately when you want to send 2 or more files simultaneously, it gives the error "the command line argument is not valid. Verify the switch you are using"
    Is there a switch that I can put in to allow for multiple file attachments with the righclick sendto option?
    Any help would be greatly appreciated.

    Regards

    Reply
    • Diane Poremsky says

      June 8, 2012 at 10:27 am

      No, sorry, there is not a switch to allow multiple attachments. Use Joseph's script method if you need to send multiple files or drag the additional files to the open message.

      Reply
  45. Roman says

    June 1, 2012 at 12:34 am

    Thanks!!!
    You best!

    Reply
  46. Joseph Lacy says

    May 2, 2012 at 3:30 pm

    There is a method that will allow you to select multiple files and right click and send with the signature. I found this along time ago and forgot how it was done. I came across this website and I remember what I had done. If you copy the following code into a txt file and save it as "Mail Recipient" and then choose Windows Host Script Program as the default reader, this will allow you to select multiple files and right click and send to with a signature. You need to create a shortcut of the Mail Recipient mail service file in the SendTo directory. The target: path of the shortcut should look something like this if your in Windows 2007: "C:\Users\jlacy\AppData\Roaming\Microsoft\Windows\SendTo\Mail Recipient.vbs" This links the script file. Your start in: path of the shortcut should be the path of the sendto directory. "C:\Users\jlacy\AppData\Roaming\Microsoft\Windows\SendTo Here is the code that needs to be pasted into the txt file:

    I will check back in later one to see if anyone needs help. This is the best workaround.

    Option Explicit
    Dim objArgs, OutApp, oNameSpace, oInbox, oEmailItem, olMailItem
    Dim a, oAttachments, subjectStr, olFormatHTML
    olMailItem = 0
    olFormatHTML = 2
    Set objArgs = WScript.Arguments 'gets paths of selected files
    Set OutApp = CreateObject("Outlook.Application") 'opens Outlook
    Set oEmailItem = OutApp.CreateItem(olMailItem) ' opens new email
    For a = 0 to objArgs.Count - 1
    Set oAttachments = oEmailItem.Attachments.Add(objArgs(a))
    subjectStr = subjectStr & Right(objArgs(a),Len(objArgs(a))-(InStrRev(objArgs(a),"\"))) & ", " 'recreates the default Subject e.g. Emailing: file1.doc, file2.xls
    Next
    If subjectStr = "" then subjectStr = "No Subject "
    oEmailItem.Subject = "Emailing: " & Left(subjectStr, (Len(subjectStr)-2))
    oEmailItem.BodyFormat = olFormatHTML
    oEmailItem.Display

    Reply
    • Igor Silva says

      March 24, 2015 at 10:24 pm

      Hi Joseph,
      I am only replying 3 years after you posted this... But I just found this comment as I was looking for a way to do almost exactly what you posted; create a custom send to that you could add multiple attachments to. (And thank you so much for this post! you are a legend!)

      One question though, would it be possible to add to the code lines to automatically add a recipient and automatically send the message?

      so that as soon as I click the send to shortcut it would open a new message add the attachment send it off and close without me having to do anything..

      I hope you are still around to respond to this.

      Cheers,

      Reply
    • Igor Silva says

      March 24, 2015 at 10:53 pm

      Don't worry, I figured it out.
      I added the lines:

      oEmailitem.To = "blah@blah.com"
      oEmailitem.Send

      Reply
    • charlene-o says

      May 13, 2015 at 6:28 pm

      Thank you!! It worked for me after days of hair pulling, wailing, sackcloth and ashes!

      Reply
    • Juan Walls says

      January 3, 2016 at 8:55 pm

      Awesome!
      But, can this script be adapted to work with Mozilla Thunderbird instead of Outlook?

      Reply
    • Yohann says

      January 8, 2021 at 10:33 am

      Hello Joseph, it is interesting but the picture inside the signature does not appear. Would you know why please ?
      Thank you.
      Yohann

      Reply
  47. @lex says

    April 12, 2012 at 7:17 am

    This is great - but has one pitfall: it is not possible to send multiple attachments anymore using this method.

    Reply
    • Diane Poremsky says

      April 12, 2012 at 8:26 am

      Correct, you cannot right click on all and add in one click, but you can drag the attachments to the now-opened message form.

      Reply
  48. Chris says

    March 19, 2012 at 11:13 am

    This is a really useful guide and helped me customise my right click, send to function so that I can send emails to a set recipient. However, is there any way to retain the function of using the attachment file name as the subject of the newly created email (as the standard right click, send to mail recipient function does)?

    Thanks

    Reply
    • Diane Poremsky says

      March 19, 2012 at 10:48 pm

      I'm not aware of a way to do that - the mail recipient feature uses a tiny application to do it.

      Reply
    • E. Thibedeau says

      September 29, 2014 at 2:03 pm

      Is there a way to add a standard subject line that can then be added to, for each email generated with this send to script?

      Reply
      • Diane Poremsky says

        September 29, 2014 at 3:08 pm

        Joseph's script uses this to set the subject:
        oEmailItem.Subject = "Emailing: " & Left(subjectStr, (Len(subjectStr)-2))

        and that can be edited to use whatever you want. If you don't want to include the file name just use
        oEmailItem.Subject = "This is my subject"

      • E. Thibedeau says

        September 29, 2014 at 3:49 pm

        Outstanding ! Simple and works perfectly. Many Thanks

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Visit Slipstick Forums.
What's New at Slipstick.com

Latest EMO: Vol. 31 Issue 7

Subscribe to Exchange Messaging Outlook






Support Services

Do you need help setting up Outlook, moving your email to a new computer, migrating or configuring Office 365, or just need some one-on-one assistance?

Our Sponsors

CompanionLink
ReliefJet
  • Popular
  • Latest
  • Week Month All
  • Use Classic Outlook, not New Outlook
  • How to Remove the Primary Account from Outlook
  • Reset the New Outlook Profile
  • Disable "Always ask before opening" Dialog
  • This operation has been cancelled due to restrictions
  • How to Hide or Delete Outlook's Default Folders
  • Change Outlook's Programmatic Access Options
  • Use Public Folders In new Outlook
  • Removing Suggested Accounts in New Outlook
  • How to Delete Stuck Read Receipts
  • Sync Issues and Errors with Gmail and Yahoo accounts
  • Error Opening iCloud Appointments in Classic Outlook
  • Opt out of Microsoft 365 Companion Apps
  • Mail Templates in Outlook for Windows (and Web)
  • Urban legend: Microsoft Deletes Old Outlook.com Messages
  • Buttons in the New Message Notifications
  • Move Deleted Items to Another Folder Automatically
  • Open Outlook Templates using PowerShell
  • Count and List Folders in Classic Outlook
  • Google Workspace and Outlook with POP Mail
Ajax spinner

Recent Bugs List

Microsoft keeps a running list of issues affecting recently released updates at Fixes or workarounds for recent issues in classic Outlook (Windows).

For new Outlook for Windows: Fixes or workarounds for recent issues in new Outlook for Windows .

Outlook for Mac Recent issues: Fixes or workarounds for recent issues in Outlook for Mac

Outlook.com Recent issues: Fixes or workarounds for recent issues on Outlook.com

Office Update History

Update history for supported Office versions is at Update history for Office

Outlook Suggestions and Feedback

Outlook Feedback covers Outlook as an email client, including Outlook Android, iOS, Mac, and Windows clients, as well as the browser extension (PWA) and Outlook on the web.

Outlook (new) Feedback. Use this for feedback and suggestions for Outlook (new).

Use Outlook.com Feedback for suggestions or feedback about Outlook.com accounts.

Other Microsoft 365 applications and services




New Outlook Articles

Sync Issues and Errors with Gmail and Yahoo accounts

Error Opening iCloud Appointments in Classic Outlook

Opt out of Microsoft 365 Companion Apps

Mail Templates in Outlook for Windows (and Web)

Urban legend: Microsoft Deletes Old Outlook.com Messages

Buttons in the New Message Notifications

Move Deleted Items to Another Folder Automatically

Open Outlook Templates using PowerShell

Count and List Folders in Classic Outlook

Google Workspace and Outlook with POP Mail

Newest Code Samples

Open Outlook Templates using PowerShell

Count and List Folders in Classic Outlook

Insert Word Document into Email using VBA

Warn Before Deleting a Contact

Use PowerShell to Delete Attachments

Remove RE:, FWD:, and Other Prefixes from Subject Line

Change the Mailing Address Using PowerShell

Categorize @Mentioned Messages

Send an Email When You Open Outlook

Delete Old Calendar Events using VBA

VBA Basics

How to use the VBA Editor

Work with open item or selected item

Working with All Items in a Folder or Selected Items

VBA and non-default Outlook Folders

Backup and save your Outlook VBA macros

Get text using Left, Right, Mid, Len, InStr

Using Arrays in Outlook macros

Use RegEx to extract message text

Paste clipboard contents

Windows Folder Picker

Custom Forms

Designing Microsoft Outlook Forms

Set a custom form as default

Developer Resources

Developer Resources

Developer Tools

VBOffice.net samples

SlovakTech.com

Outlook MVP David Lee

Repair PST

Convert an OST to PST

Repair damaged PST file

Repair large PST File

Remove password from PST

Merge Two Data Files

Sync & Share Outlook Data

  • Share Calendar & Contacts
  • Synchronize two computers
  • Sync Calendar and Contacts Using Outlook.com
  • Sync Outlook & Android Devices
  • Sync Google Calendar with Outlook
  • Access Folders in Other Users Mailboxes

Diane Poremsky [Outlook MVP]

Make a donation

Mail Tools

Sending and Retrieval Tools

Mass Mail Tools

Compose Tools

Duplicate Remover Tools

Mail Tools for Outlook

Online Services

Calendar Tools

Schedule Management

Calendar Printing Tools

Calendar Reminder Tools

Calendar Dates & Data

Time and Billing Tools

Meeting Productivity Tools

Duplicate Remover Tools

Productivity

Productivity Tools

Automatic Message Processing Tools

Special Function Automatic Processing Tools

Housekeeping and Message Management

Task Tools

Project and Business Management Tools

Choosing the Folder to Save a Sent Message In

Run Rules on messages after reading

Help & Suggestions

Submit Outlook Feature Requests

Slipstick Support Services

Buy Microsoft 365 Office Software and Services

Visit Slipstick Forums.

What's New at Slipstick.com

Home | Outlook User | Exchange Administrator | Office 365 | Outlook.com | Outlook Developer
Outlook for Mac | Common Problems | Utilities & Addins | Tutorials
Outlook & iCloud Issues | Outlook Apps
EMO Archives | About Slipstick | Slipstick Forums
Submit New or Updated Outlook and Exchange Server Utilities

Send comments using our Feedback page
Copyright © 2026 Slipstick Systems. All rights reserved.
Slipstick Systems is not affiliated with Microsoft Corporation.