Outlook 2007 auto forward

Posted on 2010-08-31
Medium Priority
Last Modified: 2012-06-21
Hello,  I'm pretty sure this can't be done with an Outlook rule but wondering if anyone knows of another way or utility that can do this.

A customer of mine wants to auto forward messages to eight different mailboxes (internal) from a shared mailbox.  He wants to cycle through this list of eight e-mail addresses.   For example, the first message comes to this shared mailbox, it is forwarded to the first e-mail address.  A second message comes into this mailbox, it is sent to the next e-mail address and so on. After reaching the last e-mail address, it starts at the top again.  The customer wants these requests that come into this shared mailbox to be distributed evenly among these eight individuals.

Outlook 2007
Exchange 2003

Question by:ToddDOT
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
  • 2
  • +1
LVL 32

Expert Comment

ID: 33568462
this cannot be done as an outlook rule
outlook rules are processed against incoming messages and they cannot remember previous actions taken by the same rule

with exchange 2007 and 2010, someone might be able to create a web service that accomplishes this, but that is currently outside my scope
LVL 28

Expert Comment

ID: 33568614
This cannot be done using outlook /Exchange 2003 rules as endital said#

Let me ask you - the purpose of doing this:
a) Are you trying to allocate tickets from a shared mailbox to different users using outlook rules ?

If so - you cant use outlook/Exchange to create a ticketing system which auto assigns a case to next agent.
You will have to use some form of Ticketing/helpdesk system to do this.


Author Comment

ID: 33568850
Thanks for your responses and confirming that it can't be done out of box with Outlook rules.

This isn't for allocating tickets, we do have a system in place for helpdesk tickets.  But maybe similar type software can be used for these individuals.  I didn't have any luck myself finding a Outlook utility\or add-in that would do this.

Currently, these users are all receiving these requests via a distribution list and the user that works in that region where this is, grabs it.  The problem is that this particular region get more of these requests than the others so they want to distribute the load.  They wanted to automate the process if possible.

So far, I'm leaning toward just having them all access this shared mailbox and grab the requests manually unless I come across any util\app.

Office 365 Training for Admins - 7 Day Trial

Learn how to provision tenants, synchronize on-premise Active Directory, implement Single Sign-On, customize Office deployment, and protect your organization with eDiscovery and DLP policies.  Only from Platform Scholar.

LVL 32

Expert Comment

ID: 33568960
i don't know of any utilities that could help, sorry
LVL 76

Expert Comment

by:David Lee
ID: 33570002
Hi, ToddDOT.

I can do it with a rule and a script, but that would mean leaving a computer running with Outlook open and logged into the shared mailbox all the time.  If that's an option, then I can provide the script and instructions.
LVL 28

Expert Comment

ID: 33570232
<-- was hoping bluedevilfan sees this case :)
LVL 76

Expert Comment

by:David Lee
ID: 33570265
Thanks, sunnyc7!

Author Comment

ID: 33570856
Thanks BlueDevilFan.   I would prefer this to be a server side process versus a client side one since it would require leaving Outlook open.   I am interested in your script\rule though and trying it out.  I'm not sure we will be able to dedicate a machine for this but maybe I can have one of these users take this over.  I can set them up with a profile on their PC so they can lauch this mailbox daily to run this rule, maybe that would work for them.
LVL 76

Accepted Solution

David Lee earned 1000 total points
ID: 33572510
I understand.  I'm not aware of any way to do this at the server unless you want to write an event sink.  These are essentially macros that run at the server.  Because they run at the server a poorly written or buggy event sink can bring down the entire server.  They are best left to professional developers.  

Here's the code for doing this at the client.  Follow these instructions to use the code.  

1.  Start Outlook
2.  Click Tools > Macro > Visual Basic Editor
3.  If not already expanded, expand Microsoft Office Outlook Objects
4.  If not already expanded, expand Modules
5.  Select an existing module (e.g. Module1) by double-clicking on it or create a new module by right-clicking Modules and selecting Insert > Module.
6.  Copy the code from the Code Snippet box and paste it into the right-hand pane of Outlook's VB Editor window
7.  Edit the code as needed.  I included comments wherever something needs to or can change
8.  Click the diskette icon on the toolbar to save the changes
9.  Close the VB Editor
10. Create a new distribution list and name it Round Robin
11. Add the people who you want to forward to to the list
12. Enter the number 1 in the distribution list's notes
13. Create a rule that fires for these items
14. Set the rule's action to "run a script" and select this script as the one to run

Here's how this works.

1.  A message arrives and triggers the rule
2.  The rule runs the script and passes it the message that triggered the rule
3.  The script retrieves the Round Robin distribution list
4.  The script gets the next number from the list's notes field
5.  The script creates a forward and addresses it to the nth member of the list
6.  The script sends the forward
7.  The script increments the number by one and writes it back to the notes field of the list

Sub RoundRobinForward(Item As Outlook.MailItem)
    Dim olkDL As Outlook.DistListItem, olkMember As Outlook.Recipient, olkFW As Outlook.MailItem, intIndex As Integer
    Set olkDL = Session.GetDefaultFolder(olFolderContacts).Items.Find("[Subject] = 'Round Robin'")
    If TypeName(olkDL) = "Nothing" Then
        msgbox "The Round Robin distribution list does not exist.", vbCritical + vbOKOnly, "Round Robin Forward"
        intIndex = olkDL.Body
        Set olkMember = olkDL.GetMember(intIndex)
        Set olkFW = Item.Forward
        olkFW.To = olkMember.Name
        intIndex = intIndex + 1
        If intIndex > olkDL.MemberCount Then
            intIndex = 1
        End If
        olkDL.Body = intIndex
    End If
    Set olkDL = Nothing
    Set olkMember = Nothing
    Set olkFW = Nothing
End Sub

Open in new window


Author Closing Comment

ID: 33572596
LVL 76

Expert Comment

by:David Lee
ID: 33572649
You're welcome.

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes how to import an Outlook PST file to Office 365 using a third party product to avoid Microsoft's Azure command line tool, saving you time.
Check out this step-by-step guide for using the newly updated Experts Exchange mobile app—released on May 30.
To show how to create a transport rule in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.: First we need to log into the Exchange Admin Center. Navigate to the Mail Flow >> Rules tab.:  To cr…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…
Suggested Courses

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question