Thanks to Matt Sampson posting it here (and apparently Karl Mitschke too). Just reposting so I can find it again easily:

This from a Exchange management shell will export all the email addresses and save them to C:\smtp.csv

Get-Mailbox -ResultSize Unlimited |Select-Object DisplayName,ServerName,PrimarySmtpAddress, @{Name=“EmailAddresses”;Expression={$_.EmailAddresses |Where-Object {$_.PrefixString -ceq “smtp”} | ForEach-Object {$_.SmtpAddress}}} | Export-CSV c:\smtp.csv -NoTypeInformation