Find How Many Emails Sent and Received from Exchange Server

In this article will see how to find out how many emails / messages were sent or received from Exchange Servers.

Below cmdlet will work on Exchange 2010, 2013 and 2016.

In order to see how many emails sent or received during one hour from Exchange server below cmdlet will help you out:

Get-TransportServer | Get-MessageTrackingLog -Start “1/20/2019 20:00:00 pm” -End “1/20/2019 21:00:00 pm” |Measure-Object –line

In order to see the number of emails sent to a specific email Address.

Get-transportserver | Get-MessageTrackingLog -Start "1/20/2019 10:00:00 am" -End "1/20/2019 18:00:00 pm" -resultsize unlimited |where-object {$_.Recipients -like "in..@expert-advice.org” -AND $_.EventId -eq "receive"} |Measure-Object –Line

In order to see the number of emails sent or receive in 30 days.

Use Get-MessageTrackingLog to group-object for grouping and counting. For grouping by senders use below cmdlet:

Get-MessageTrackingLog -start “1/1/2019 00:00:00” -end “1/30/2019 11:59:00” | select-object -ExpandProperty Recipients | group-object

Grouping by recipients:

Get-MessageTrackingLog -start “1/1/2019 00:00:00” -end “1/30/2019 11:59:00” | select-object -ExpandProperty Recipients | group-object

The result will look like:

Count Name Group
----- ---- -----
55 mail@yourdomain.com {mail@yourdomain.com, mail@yourdomain.com, ...}
22 user1@yourdomain.com {user1@yourdomain.com, user1@yourdomain.com, ...}
46 abc.address@expert... {abc.address@expert-advice.org, abc.address@expert...}
[...]