The Test-Mailflow cmdlet tests mail submission, transport, and delivery. The cmdlet verifies that each Mailbox server can successfully send itself a message. You can also use this cmdlet to verify that the System Mailbox mailbox on one Mailbox server can successfully send a message to the System Mailbox mailbox on another Mailbox server.
This task provides useful information to the administrator when it is run manually. It can also be called by monitoring tools, such as Microsoft Operations Manager (MOM), Exchange Best Practices Analyzer, and Exchange Troubleshooting Assistant. When the task is called by MOM, alerts are generated to indicate failures or slow performance.
The Test-Mailflow cmdlet can perform a local test or a remote test. If you do not specify any parameters, a local test is performed and the server sends a test e-mail message to itself. When the TargetEmailAddress, TargetMailboxServer, or AutoDiscoverTargetMailboxServer parameter is specified, a remote test is performed. The TargetEmailAddress, TargetMailboxServer, and AutoDiscoverTargetMailboxServer parameters are mutually exclusive.
To test e-mail delivery for a cross-forest scenario, use the TargetEmailAddress parameter. To test e-mail delivery between Mailbox servers in the same Active Directory forest, use the TargetMailboxServer parameter. To automatically populate the list of target servers on which to test mail flow, use the AutoDiscoverTargetMailboxServer parameter.
If more than one of these parameters is specified, the AutoDiscoverTargetMailboxServer parameter takes precedence over the TargetEmailAddress and TargetMailboxServer parameters. The TargetMailboxServer parameter takes precedence over the TargetEmailAddress parameter. If a local test is performed, the local server must have a System Mailbox mailbox for each mailbox database. If a remote test is performed, the source and destination servers must both have a System Mailbox mailbox or a specific mailbox must be provided by using parameters.
To run the Test-Mailflow cmdlet, the account you use must be delegated the following:
-
Exchange Server Administrator role and local Administrators group for the server where the cmdlet is run.
For more information about permissions, delegating roles, and the rights that are required to administer Microsoft Exchange Server 2007, see Permission Considerations.