一、注册应用程序
1、登录Azure门户
地址: https://portal.azure.com/#home
选择Microsoft Entra ID
2、添加应用
点击右侧管理(Manage)->应用注册(app registration)->添加应用(new registration)
应用添加完后记录自己的应用ID(clientId)、租户ID(tenantId)和ObjectId。
ObjectId在后面注册Exchange时能用到
clientId和tenantId收发邮件时用
3、添加客户端密码
点击证书或密码添加客户端密码(clientSecret),注意这个客户端密码只有创建的时候能看到,所以得保存下来
二、API权限授权
1、勾选权限
点击api权限->添加权限->我的组织使用的 API->搜索Office 365 Exchange Online,将IMAP、POP、SMTP都勾选上。
2、管理员授权
使用【全局管理员】角色的账号登录,对这些权限授权
三、在 Exchange 中注册服务主体
1、连接ExchangeOnline
本地电脑打开PowerShell
依次执行命令
Install-Module -Name ExchangeOnlineManagement
Import-module ExchangeOnlineManagement
Connect-ExchangeOnline -Organization <上文的tenantId>
执行后登录管理员的邮箱账号
如果遇到:Import-Module : 无法加载文件,因为在此系统上禁止运行脚本
执行:set-ExecutionPolicy RemoteSigned
选择:Y
2、给邮箱授权
查看服务主体
New-ServicePrincipal -AppId <上文的clientId> -ObjectId <上文的ObjectId>
给需要IMAP和SMTP的邮箱授权:
Add-MailboxPermission -Identity "xxx@xxx.com" -User <上文的ObjectId> -AccessRights FullAccess
至此所有准备工作完成,开始撸代码