更新于 2016年8月24日
如今在微软更新了 Office 365 和 Exchange Online 的产品线之后,已经不再必须通过手动开启 DKIM 签名,如果你不开启自己定义的 DKIM 头,Office 365 和 Exchange Online 会为每一封从微软服务器发出的邮件签名(通过 xx.onmicrosoft.com 这个域名)。
上周我在检查微软 Office365 的开发路线图( Office 365 Roadmap )的时候发现 Office365 的 Exchange Online 邮件系统现在已经支持 DKIM 强制签名了,关于 DKIM 对于保证一个邮件系统安全可靠的重要性无需多言,微软对于这项功能的开发周期已经持续了两年之久。
关于如何开启 Exchange Online 邮件系统的 DKIM 功能,微软并没有相关的详细说明文章,但是相关的步骤可以参照之前的一些已有的经验摸索出来。
首先,需要在 DNS 解析记录中添加两条 CNAME 记录,格式如下:
selector1._domainkey.xxx.com. CNAME指向到 selector1-xxx-com._domainkey.onmicrosoft.com selector2._domainkey.xxx.com. CNAME指向到 selector2-xxx-com._domainkey.onmicrosoft.com
其中 xxx.com
替换为自己的域名
然后,需要在服务器端开启 DKIM 功能,整个过程需要手动操作,需要用到 Windows 系统自带的 PowerShell 软件进行 remote 操纵。
在本地电脑上,通过 PowerShell 运程连接到 Exchange Online 服务器,具体步骤如下:
第1步,提权,需要用 administrator 权限打开 Powershell ,然后输入下面的命令授权:
Set-ExecutionPolicy RemoteSigned
第2步,连接服务器,需要在上一步的同一窗口下,同时需要管理员权限,不可用本地权限,否则会出现写入权限错误:
$UserCredential = Get-Credential
在弹出的对话框中,输入自己的邮箱管理员帐户信息。
第3步,建立新会话(session):
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
第4步,进入新建的会话:
Import-PSSession $Session
第5步,开启 DKIM 功能:
New-DkimSigningConfig –DomainName [your domain name] –Enabled $true
如果开启成功,则会显示类似如下的提示界面: