June 5, 2006

Outlook “Sent Items” Hack

For years, Outlook’s inability to have Sent Items go anywhere but the Sent Items folder has been a little pet peeve of mine. It might seem a little counterintuitive, but I really like everything I send to end up in my inbox where I sort it, file it, set up a “next action” ala GTD, etc. Up until now I’d just move the contents of my Sent Items folder to the Inbox folder every once in a while. Well, reading CNXN’s article on using Outlooks without folders finally gave me a bit of a nudge, and a quick google turned up the following bit of code. Open Outlook’s Visual Basic editor, go to the ThisOutlookSession object, paste in the following code, save, restart Outlook, and anything that appears in Sent Items will immediately be moved ot the Inbox.

Public WithEvents SentItems As Outlook.Items
Private Sub Application_Startup()
    Set SentItems = _
Outlook.Session.GetDefaultFolder(olFolderSentMail).Items
End Sub
Private Sub Application_Quit()
    Set SentItems = Nothing
End Sub
Private Sub SentItems_ItemAdd(ByVal Item As Object)
    Item.Move _
Outlook.Session.GetDefaultFolder(olFolderInbox)
End Sub

Comments (24)

  1. December 5, 2006
    Dan said...

    How about moving the Exchange Mailbox Sent Items (default) to the Sent Items in my Personal Folder?

  2. December 14, 2006
    Ken said...

    Dan: You might try Sperry’s new Sent Items organizer add-in. I’m using it in place of the above code these days. Not only does it let you route email to your choice of folder but it lets you specify rules to determine what goes where:

    http://www.sperrysoftware.com/Outlook/Sent-Items-Organizer.asp

  3. February 6, 2007
    Sugah said...

    Even simpler than VBA – Use Outlook features to do this:

    1) Add a rule to move a copy of sent items to Inbox
    2) Turn off “Save copies of messages in Sent Items folder” in Tools…Options…Preferences…Email options

  4. April 4, 2007
    Malcolm said...

    Sugah…that is moronically simple. I assumed there would be no “Sent” message to copy (with the rule) if you turn off the “Save copies of Sent Messages” option. I’ve been just keeping duplicates (in Sent Items and Inbox)…this is beautiful.

  5. May 24, 2007
    Brian said...

    This is fantastic. This has bugged the crap out of me for some time now. Thanks for the great post.

  6. June 21, 2007
    Bob said...

    The problem I have with the rule is it makes the message unread and it seems that since it is a copy it is not actually received mail so an additional received rule does not mark it read. Any ideas.

  7. July 17, 2008
    Joe Cotellese said...

    I can’t believe I never thought of anything as obvious as Sugahs suggestion. This worked like a charm.

    Now I can manage my email with a better GTD workflow. Thanks for the post.

  8. July 18, 2008
    Martin said...

    Hello,
    I would like that outlook ask me for each sent mail if I want to classify this sent mail in a specific folder.

  9. August 5, 2008
    Riz said...

    Sugah .. How to add this rule to move a copy of sent items to Inbox ???


    Convert this post to pdf by clicking http://www.pdfonfly.com/convert-pdf.asp?url=http://www.kensheppardson.com/2006/06/05/outlook-sent-items-hack/

  10. August 19, 2008
    Lucy said...

    how do I NOT have my sent emails in my inbox?
    I am a layman so go easy on the technical stuff in telling me how to only have sent emails in my sent box.

    thanks

  11. January 13, 2009
    JP said...

    I know this post is old, but there's another way using VBA that might be a bit more direct. You can use the MailItem.SaveSentMessageFolder

    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    If TypeName(Item) = “MailItem” Then
    Dim olApp As Outlook.Application
    Dim objNS As Outlook.NameSpace
    Dim objFolder As Outlook.MAPIFolder
    Set olApp = Outlook.Application
    Set objNS = olApp.GetNamespace(“MAPI”)
    Set objFolder = objNS.GetDefaultFolder(olFolderInbox)
    Set Item.SaveSentMessageFolder = objFolder
    End If

    Set objFolder = Nothing
    Set objNS = Nothing
    Set olApp = Nothing
    End Sub

  12. July 12, 2009
    Robert said...

    I tired this last VBA snippet that JP posted and it works perfect in outlook 2007. I think I'm going with this option over the rules option because it actually moves the message so if you use Conversation View like I like to do, everything sorts properly. Much better than moving a copy in my opinion.

  13. July 12, 2009
    Robert said...

    So this works only when you have one outlook profile. When you have more than one, nothing seems to happen… Any tips?

  14. July 13, 2009
    Robert said...

    nvm… i got it sorted. turns out someone permanently disabled our macros and as such, this stopped running. i'll re-add two profiles, retest, and report back.

  15. October 5, 2009
    SendAndMove said...

    At http://www.sendandmove.com you find a Outlook AddIn, which asks you in which folder you like to move your mail after sending. It works also with different pst folders.

    The tool Send And Move tries to suggest you related folders based on a search algorithm.

    • November 16, 2009
      Mike said...

      Will this work in Outlook 2k3?

  16. January 4, 2010
    Russ said...

    If you have Outlook 2003, just create a custom search folder and look in both the inbox and sent items folder and don’t give a criteria. You have what you are looking for without having to monkey with the defaults.

    Here’s how to create a search folder:

    http://office.microsoft.com/en-us/outlook/HA100389111033.aspx?pid=CH100777411033#3

  17. January 13, 2010
    amplatfus said...

    it works great in office 2007; i’ve been searching for a while. before i was using a rule after sendig email to move a copy to inbox without auto saving setting activated, but the inconvenience of this is this copy is a unread email

    All the best,
    amplatfus

  18. January 13, 2010
    amplatfus said...

    Dear Russ,

    If you are using follow up feature only for you, not for the recipents, you will need to manualy move those emails to inbox in order to make reminder working.

  19. January 26, 2010
    Svenn-Erik said...

    I would recomend this as the fastest fix, you need Outlook 2007 SP2 (not 100% sure of the patch level, but July ‘09 should be fine).

    Add this reg key and Outlook will put the sent mail in the correct box:

    [HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook\Preferences]
    “DelegateSentItemsStyle”=dword:00000001

    This works.

    \Svenn-Erik

    • March 15, 2010
      CRO said...

      Dear Svenn-Erik,

      My apologies to you and JP and forgive my complete ignorance but would either of you send me or post a link(s) to walk me through the “reg key” or VBA set up processes? Problematic hosted exchange issues forced a gmail forward rule to get Outlook email to my mobile and now my sent items are out of control! I can’t just deactiveate sent items copies & reroute to inbox b/c it similar issues. Many Thanks, CRO

  20. January 27, 2010
    adam said...

    for outlook 2003, when using a rule to send a copy to inbox, the message shows up as UNREAD. is there anyway to make it so the message shows up as read?

    upgrading outlook isnt really an option.

    let me know! thanks

  21. February 25, 2010
    Jason Freake said...

    Thanks JP. The code snip worked perfect.
    I also added an outlook rule to assign the category “SentItems” to all sent messages so I can filter them if needed.

    Cheers,
    J

Leave a Reply