如何在ADFS中配置SMTP服务器以实现邮件验证码发送?
ADFS配置SMTP服务器(本地Exchange环境)
ADFS的SMTP服务器配置没有图形界面选项,必须通过PowerShell完成,结合本地Exchange部署的具体操作如下:
1. 用PowerShell配置ADFS的SMTP参数
以管理员身份打开PowerShell,执行以下命令:
设置Exchange服务器作为ADFS的SMTP中继(替换成你的Exchange服务器FQDN):
Set-AdfsProperties -SmtpServer "exch01.yourdomain.com"(可选)指定SMTP端口(默认是25,若使用TLS加密建议用587):
Set-AdfsProperties -SmtpPort 587(可选)配置SMTP验证方式:
如果Exchange要求身份验证,根据需求选择:# Windows集成验证(适合域内环境) Set-AdfsProperties -SmtpAuthenticationMethod Negotiate # Basic验证(需提供发件人邮箱的凭据) Set-AdfsProperties -SmtpFromAddress "adfs-noreply@yourdomain.com" -SmtpCredential (Get-Credential)(可选)设置统一的发件人邮箱:
Set-AdfsProperties -SmtpFromAddress "adfs-noreply@yourdomain.com"
2. Exchange服务器端的配套配置
要让ADFS能通过Exchange发邮件,需要在Exchange上配置接收连接器:
- 打开Exchange管理中心,进入邮件流 > 接收连接器
- 新建接收连接器:
- 类型选自定义,名称设为
ADFS SMTP Relay - 绑定到Exchange服务器的SMTP端口(比如25或587)
- 在远程IP地址里添加ADFS服务器的IP地址
- 权限组勾选Exchange服务器和中继服务器(根据你的安全需求调整)
- 类型选自定义,名称设为
- 若用TLS加密,确保接收连接器启用TLS,且ADFS服务器信任Exchange的SSL证书。
3. 验证配置
执行以下命令查看ADFS的SMTP配置是否生效:
Get-AdfsProperties | Select-Object SmtpServer, SmtpPort, SmtpFromAddress, SmtpAuthenticationMethod
之后触发一次ADFS的邮件验证码验证(比如MFA流程),检查用户邮箱是否收到验证码,确认整个流程正常。
内容的提问来源于stack exchange,提问作者Victor L
相关产品推荐
相关产品推荐

