如何配置Azure AD权限使ASP.NET MVC应用MailKit OAuth2发Office365邮件
ASP.NET MVC + MailKit + Office 365 Azure AD权限配置指南
分场景权限配置
1. 后台服务模式(无用户交互发件)
- 添加Microsoft Graph的
Mail.Send应用权限(权限类型:Application) - 添加Exchange Online的
SMTP.Send应用权限(权限类型:Application)
以上两个权限均需Azure AD管理员完成全局同意才能生效
2. 用户委派模式(模拟指定用户发件)
- 添加Microsoft Graph的
Mail.Send委派权限(权限类型:Delegated) - 添加Exchange Online的
SMTP.Send委派权限(权限类型:Delegated)
该模式下用户登录时会授权应用代表自身发件,无需管理员全局同意(租户强制要求除外)
额外配置要点
- 确认Azure AD应用注册的重定向URI与ASP.NET MVC的OAuth回调地址一致(例如
https://your-app-domain.com/signin-oidc) - 妥善保管应用的客户端密钥或证书,MailKit需通过该凭据获取OAuth2令牌
- MailKit连接时指定SMTP服务器为
smtp.office365.com,端口587并启用SSL,将获取到的OAuth2令牌传入SmtpClient.Authenticate方法
内容的提问来源于stack exchange,提问作者Simba
相关产品推荐
相关产品推荐

