How do I export all users email from one Exchange Server to another and not get rejections on the new server when replying to old emails

Posted on 2012-04-13
Last Modified: 2012-08-13
I moved from one exchange server to a new one and started fresh by recreating the domain.  I exported all the users’ information from outlook into a PST file and then imported that PST into the new outlook connected to the new server.  Everything seems ok expect when forwarding and replying to old emails from the old server , it seems there is some embedded server specific SMTP information in the contact that looks for the old server and I get a rejection.  Sending new emails is fine by manually typing their name and once in the autofill that’s fine.
Question by:dlafferty
  • 2

Expert Comment

ID: 37844836
I would suggest trying exmerge.



Author Comment

ID: 37846324
looks like that only works for 2003 server, I need to run for 2007 server to 2010
LVL 17

Expert Comment

ID: 37847308
sounds like you copied the old cached email addresses, have you deleted the "suggested contacts" in Outlook?

Accepted Solution

rschnitzer earned 500 total points
ID: 37852572
The easiest thing to do is going to be tell users they simply can't reply to emails that were migrated...  I realize this could be a nightmare if you have a ton of users, as they will likely still try to do it for months to come.

The only alternative I know of would be to migrate the mailboxes from the 2007 Exchange server to the 2010 Exchange server.  You are right that you won't want to use exmerge since it's a 2007 to 2010 migration.

This of course will be kind of difficult if you've already created the new boxes on the 2010 server, and already have mail stored in them.

Either way I would take a look at this article from Network World as he has some good tips and advice regarding a migration from Exchange 2007 to 2010:

The technet article on how to move the mailboxes is the following but it's not the easiest to follow for going from 2007 to 2010:

And then the following are the instructions from a technet blog on how to move mailboxes from 2007 to 2010:

Typically in the upgrade scenario moving mailboxes will be done from Exchange 2007/2003 mailbox databases (Source) to Exchange 2010 mailbox databases (Target).

When moving mailboxes from Microsoft Exchange Server 2007 Service Pack 2 (SP2) to Exchange Server 2010, the following should be considered:

· The move process is performed online, and end-users will be able to access their mailboxes during the move.

· Mailboxes cannot be moved from Exchange 2007 SP1 or earlier, the source Mailbox server must be running Exchange 2007 SP2 or later.

· Perform the move from a server running Exchange 2010 by using the Exchange Management Console or the move request cmdlet in the Exchange Management Shell, however Move-Mailbox cmdlet in Exchange 2007 cannot be used to move mailboxes to Exchange 2010 servers.

Move Mailboxes using Exchange Management Console

1. In the consoled tree, navigate to Recipient Configuration > Mailbox.

2. In the result pane, select one or more mailboxes that planned to be moved.

3. In the action pane, click New Local Move Request.

4. On the Introduction page, configure the following settings:

· A new move request will be placed for the following mailboxes this box displays the mailboxes that was selected in the result pane, if you want to add or remove mailboxes, click Cancel, and then make the changes in the result pane.

· Target mailbox database click Browse to open the Select Mailbox Database dialog box. Use this dialog box to select the target mailbox database to which you want to move the mailboxes. Click OK to return to the wizard.

5. On the Move Options page, specify how you want to manage corrupted messages if they are found.

· Skip the mailbox Click this button to specify that mailboxes containing corrupted messages will not be moved.

· Skip the corrupted messages Click this button to move the mailbox, but not to move any corrupted messages, if you select this option you’ll need to set the Maximum number of messages to skip.

· Maximum number of messages to skip Use this list to specify a number between -1 and 2,147,483,647, use -1 to skip an unlimited number of corrupted messages.

6. On the New Local Move Request page, review you configuration settings. Click New to create the move request. Click Back to make changes.

7. On the Completion page, review the following, and then click Finish to close the wizard:

· A status of Completed indicates that the wizard completed the task successfully.

· A status of Failed indicates that task wasn’t completed, if the task fails, review the summary for an explanation, and then click Back to make any configuration changes.

8. Click Finish to close the wizard.

Move Mailboxes using PowerShell or MoveMailbox.ps1 script

In this section we will cover Moving Mailboxes using PowerShell cmdlet and using MoveMailbox.psa1 script.

· Test Whether a mailbox is ready for move:

This example uses the WhatIf switch to test whether Tony Smith’s mailbox is ready to move to the new database DB01 and if there are any error within the command, when use WhatIf switch the system performs checks on the mailbox, and if the mailbox isn’t ready to move, the error will be generated:

New-MoveRequest -Identity ' -TargetDatabase DB01 -WhatIf

· Create a local move request:

This example moves Tony Smith’s mailbox to the new database DB01:

New-MoveRequest -Identity '' -TargetDatabase DB01

· Create a batch move request:

This example create a batch move request for all mailboxes on the database DB01 and moves to the database DB02 with the BatchName parameter valude DB01ToDB02

Get-Mailbox -Database DB01 | New-MoveRequest -TargetDatabase DB02 -BatchName "DB01toDB02"

· Create a move request that suspends before completion:

This example creates a move request that is suspended after all the initial content is moved, but before the mailbox is locked down and switched over to the new location:

New-MoveRequest -Identity '' -TargetDatabase DB01 -SuspendWhenReadyToComplete

· Create a move request that is processed by a specific server:

This example creates a move request that is processed by the specific Client Access server, which has the Microsoft Exchange Mailbox Replication service installed:

New-MoveRequest -Identity '' -TargetDatabase DB01 -MRSServer

· Create a suspend move request:

This example creates a batch move request that is suspended for all mailboxes on database DB01, you may want to run this command if want to create the move request now and then resume it in the evening, when e-mail traffic is low:

Get-Mailbox -Database DB01 | New-MoveRequest -TargetDatabase DB02 -BatchName "26August"

· Move Mailboxes by using the MoveMailbox.ps1 Script in the Shell:

Similar to the Move-Mailbox cmdlet in Microsoft Exchange 2007, the MoveMailbox.ps1 script provides a synchronous management experience for moving mailboxes, by default scripts are installed at “C:\Program Files\Microsoft\Exchange Server\V14\Scripts”,

MoveMailbox.ps1 performs the following tasks:

a. Creates a local move request.

b. Waits for the mailbox move to complete.

c. Clears the move request after it completes.

MoveMailbox.ps1 include two parameter sets, the 1st parameter set moves a single mailbox, or you can pipeline mailboxes into the command, the 2nd parameter set moves all mailboxes hosted on a specific database, or you can pipeline database objects into the command to move all mailboxes that reside on those mailbox databases, these are different example that we can follow while using MailboxMove.ps1 to move batch of mailboxes as the following:

· Example 1:

In this example moves the mailboxes that begin with “ay”, if these mailboxes reside on the mailbox database DB1, this example uses the DatabaseMap parameter to move them to mailbox database DBA, if these mailboxes reside on DB2, the example moves them to mailbox database DBB:

Get-Mailbox ay* | .\MoveMailbox.ps1 –DatabaseMap @{“DB1”=”DBA”;”DB2”=”DBB”}

· Example 2:

This example moves Tony Smith’s mailbox to DB2:

.\MoveMailbox.ps1 -Identity "" -TargetDatabase "DB2"

· Example 3:

This example moves all mailboxes that reside on mailbox database DB1 to database DB2:

.\MoveMailbox.ps1 -MailboxDatabase DB1 -TargetDatabase DB2

· Example 4:

This example uses the Get-MailboxDatabase cmdlet to retrieve all mailbox database objects whose mailbox database begins with “DB1”, and then pipeline the result to the MoveMailbox.ps1 script:

Get-MailboxDatabase DB1* | .\MoveMailbox.ps1 -DatabaseMap @{"DB10"=DBA;"DB11"="DBB";"DB12"="DBA"}

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Question has a verified solution.

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

Follow this checklist to learn more about the 15 things you should never include in an email signature from personal quotes, animated gifs and out-of-date marketing content.
Following basic email etiquette rules will help you write a professional email and achieve a good, lasting impression with your contacts.
This Experts Exchange video Micro Tutorial shows how to tell Microsoft Office that a word is NOT spelled correctly. Microsoft Office has a built-in, main dictionary that is shared by Office apps, including Excel, Outlook, PowerPoint, and Word. When …
CodeTwo Sync for iCloud ( automatically synchronizes your Outlook 2016, 2013, 2010 or 2007 folders with iCloud folders available via iCloud Control Panel. This lets you automatically sync them with…

828 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