You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server Database Mail连接Microsoft 365/Exchange的认证适配疑问

Database Mail与Exchange Online适配相关问题解答

问题1:使用SmtpClient的SQL Database Mail是否支持SMTP AUTH,无需SMTP中继即可连接Exchange?

Database Mail依赖的.NET SmtpClient完全支持SMTP AUTH,只要配置正确,不需要中继就能直接连接Exchange Online:

  • 配置时SMTP服务器填smtp.office365.com,端口选587(强制TLS加密)
  • 勾选「此服务器要求安全连接(SSL)」选项
  • 身份验证选择「基本身份验证」,填入已开启SMTP AUTH权限的Exchange Online邮箱账号和密码

    注意:Exchange Online的邮箱默认可能未启用SMTP AUTH,需要手动在Exchange管理中心或通过PowerShell开启

问题2:若需中继,内置Windows Server SMTP中继能否在异地连接时升级凭证交换?

Windows Server自带的IIS SMTP中继服务不支持现代OAuth2认证,仅支持基础认证或匿名方式,没法自动升级凭证交换逻辑。如果要用它中继到Exchange Online:

  • 只能依赖SMTP AUTH(基础认证),需在中继的出站设置里配置对应Exchange账号的认证信息
  • 要确保异地的SMTP中继服务器能正常访问smtp.office365.com的587端口
  • 但这种方案只是临时过渡选项,因为基础认证已被Exchange Online大范围禁用,仅SMTP AUTH是例外,长期来看建议更换支持OAuth2的中继方案

除SMTP AUTH可用外的额外注意事项

  • SMTP AUTH权限必开:不是所有Exchange邮箱默认启用SMTP AUTH,可通过PowerShell命令开启:Set-CASMailbox -Identity "邮箱地址" -SmtpClientAuthenticationEnabled $true
  • SmtpClient的过时风险:官方已将SmtpClient标记为过时组件,它不支持OAuth2认证。未来若微软调整SMTP AUTH的授权规则,这套基于SmtpClient的Database Mail方案可能失效,建议尽早评估迁移到MailKit的替代方案(比如通过SQL CLR集成MailKit实现邮件发送)
  • 密码安全防护:基础认证的密码会加密存储在SQL Server的Database Mail配置中,仍存在风险,建议用Azure Key Vault托管密码,或定期更换
  • Exchange发送配额:Exchange Online对SMTP AUTH发送的邮件有配额限制(日发送量、单邮件收件人数等),需确保业务发送量在限额内,避免被限流
  • TLS版本要求:Exchange Online仅支持TLS 1.2及以上版本,要确保SQL Server所在服务器的.NET Framework版本兼容,且系统已启用TLS 1.2协议,否则会连接失败

内容的提问来源于stack exchange,提问作者Wayne Erfling

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 14:40:23