Oamc

Exchange 邮箱与队列排查

本页目录

场景

公司用 Exchange,要建邮箱、查收发、排队列堆积。

前置条件

  • 有 Exchange 管理权限(Exchange Admin Center 或 PowerShell)
  • 知道邮件流经过哪台服务器

配置

# 建邮箱
New-Mailbox -Name "张三" -UserPrincipalName zhangsan@corp.example.com `
  -Password (Read-Host -AsSecureString) -FirstName 三 -LastName 张

# 共享邮箱
New-Mailbox -Shared -Name "客服" -PrimarySmtpAddress support@corp.example.com

# 查邮箱大小
Get-Mailbox -ResultSize Unlimited |
  Get-MailboxStatistics |
  Select-Object DisplayName, TotalItemSize |
  Sort-Object TotalItemSize -Descending | Select-Object -First 10

排查:

Get-Queue
Get-Queue | Where-Object { $_.Status -ne "Ready" }
Get-Message -Queue "服务器\队列" | Select-Object -First 10
Get-TransportService | Get-MessageTrackingLog -ResultSize 50 |
  Where-Object { $_.Recipients -like "*zhangsan*" }

验证

Test-ServiceHealth
Send-MailMessage -To zhangsan@corp.example.com -From ops@corp.example.com `
  -Subject test -Body test -SmtpServer mail.corp.example.com

回滚

Disable-Mailbox zhangsan@corp.example.com
# 或者彻底删掉
Remove-Mailbox zhangsan@corp.example.com -Confirm:$false

坑

  • Get-Queue 里 Retry 状态堆积,多半是 DNS 或对端拒收。
  • 磁盘满了传输服务会停止接收,先清日志盘。
  • 删邮箱后还能恢复一段时间,别急着清空已删除邮箱。
  • 发送连接器配错,外发邮件全卡在队列里。
  • 邮件大小限制默认 10MB,用户发大附件会退信。
  • 用 Get-MessageTrackingLog 查不到,可能查错了服务器或时间范围。