[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More


Resending Messages in Microsoft Outlook

Published on
23,216 Points
17 Endorsements
Last Modified:
Community Pick
A few days ago I got a phone call from Lisa, one of my coworkers.  She was calling to ask about an email I was supposed to send her with some details about a project that our respective teams are working on.  Lisa said she hadn’t received it.  I quickly checked my Sent Items folder and found the message.  Sure enough, Lisa was one of the addressees.    At this point it’s immaterial why she didn’t get the message, I needed to send it to her again.  

Bill, a client, called me today.  He asked if I remembered an email I sent him a couple of months ago with some sales figures.  I told him I did.  Bill then asked if I could send it to him again.  He’d accidentally deleted the first message and needed another copy.  

Lisa and Bill are both fictitious characters I made up to illustrate a point: many of us have an occasional need to resend a message.  Outlook actually has a resend option, but getting to it takes a few steps.  

1.      Navigate to the Sent Items folder.
2.      Find the message you need to resend.
3.      Open the message.
4.      Outlook 2007: In the Actions group click Other Actions.
        Outlook 2003 and earlier: Click Actions on the menu.
5.      Click Resend This Message.
6.      The message will appear onscreen.
7.      Click the Send button.

Another approach is to forward the original message.  The steps for forwarding are

1.      Navigate to the Sent Items folder.
2.      Find the message you need to resend.
3.      Select the message.
4.      On the toolbar click the Forward button.
5.      Address the message.
6.      Click the Send button.

While forwarding saves one step it also means addressing the message and it means that the original message will come as a forwarded message instead of as an original message.  We can overcome the last issue by using the “Forward as Attachment” command.  There are other options available too, things like creating a new message and using copy and paste to copy the original message into the new message, or creating a new message and attaching the original.  No matter what approach you take resending is a multistep process.

Scripting to the rescue.  Resending a message via code is very simple.  Even with some error checking thrown in we can do it with less than 20 lines of code.  Add the code to Outlook and configure it to run from a toolbar button and we can resend a message with a single mouse click.  That’s a big time saver.  It may seem counterintuitive, but this approach to resending a message will probably save more time for those who don’t resend very often.  The less frequently I need to resend the more likely I am to fumble around trying to find the resend option on the menu.  Having a toolbar button makes the process easy.  I should point out that a scripted approach does not eliminate the requirement that you open the Sent Items folder and find the item you want to resend.  You still have to perform those steps.  From that point on the process is a lot simpler, especially if you need to resend several messages at the same time.  This solution allows you to select any number of messages and resend them all with a single click.

The Code.

Sub ResendMsgs()
    Dim olkMail As Outlook.MailItem
    Select Case TypeName(Application.ActiveWindow)
        Case "Explorer"
            For Each olkMail In Application.ActiveExplorer.Selection
                ResendMsg olkMail
        Case "Inspector"
            ResendMsg Application.ActiveInspector.CurrentItem
    End Select
    Set olkMail = Nothing
End Sub

Sub ResendMsg(olkMsg As Outlook.MailItem)
    Dim olkResend As Outlook.MailItem
    Set olkResend = olkMsg.Copy
    Set olkResend = Nothing
End Sub

Open in new window


These instructions apply to all versions of Outlook from 2000 thorough 2007.  I have not tested the code with Outlook 2010 and Outlook 2010 does not support toolbars.

Adding the Code to Outlook.
1.      Open Outlook.
2.      Click ToolsMacroVisual Basic Editor
3.      If not already expanded, expand Microsoft Office Outlook Objects
4.      If you have a modules entry in the tree, expand it, otherwise click InsertModuleNew Module from the menu
5.      Select an existing module (e.g. Module1) by double-clicking on it or create a new module by right-clicking Modules and selecting InsertModule
6.      Copy the code and paste it into the right-hand pane of Outlook's VB Editor window
7.      Click the diskette icon on the toolbar to save the changes
8.      Close the VB Editor

Adding a Toolbar Button.
1.      Click ViewToolbarsCustomize
2.      Click the Toolbars tab
3.      Click New
4.      Name the toolbar
5.      Click the Commands tab
6.      Under Categories click Macros
7.      Under Commands click and hold on the macro, then drag it out and drop it on the new toolbar
8.      Dock the toolbar somewhere onscreen


If you use this code with Outlook 2003 or earlier then Outlook will prompt you each time you resend a message.  The prompt is part of Outlook’s built in security designed to prevent malicious code from sending messages without your knowledge.  Although you cannot turn these prompts off, there are ways to work around them.

1.  Sign the code.  See this page for instructions on how to sign the code using a locally generated security certificate.
2.  Use ClickYes, a small utility that will click the Yes button for you.  It creates a security hole though, since a virus could start sending messages and ClickYes would click the Yes button for it too.  
3.  Use Outlook Redemption, a COM library that enables code to safely bypass Outlook security.
Author:David Lee
LVL 58

Expert Comment

Nice work, BDF! Voted Yes above
LVL 76

Author Comment

by:David Lee
Thanks, tigermatt.  Glad you liked it.

Expert Comment

Thanks for the article!

I have a lot of users that were used to Lotus Notes and having a resend option on the Toolbar - This macro brings them one step closer to being happy with Outlook!
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

LVL 76

Author Comment

by:David Lee
Thanks, nick-ppecoraro!  Glad the article helped.

Expert Comment

how do you make this work for 2010?
LVL 76

Author Comment

by:David Lee
The code should work in 2010 without any problem.  Or are you talking about adding a toolbar button to run the code from?

Expert Comment

awesome Article i just test it in outlook 2013 just work fine and add it as a new button
resend with one click
LVL 76

Author Comment

by:David Lee
Thanks, Temody.  I'm glad you like it.

Expert Comment

by:Alex Hernandez
Is there any way of editing the email before resending it? Similar to the Resend this Message option when you have an email open.

Featured Post

Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

There may be issues when you are trying to access Outlook or send & receive emails or due to Outlook crash which leads to corrupt or damaged PST file. To eliminate the corruption from your PST file, you need to repair the corrupt Outlook PST file. U…
Discover the basics of using Outlook 2016 from office 365.

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month