如何通过EWS或Graph获取M365用户的管理员配置最大邮件大小
获取M365用户管理员配置的最大邮件大小(EWS/Graph直接HTTP调用)
Graph API 方案
管理员配置的用户级最大发送/接收邮件大小,目前在Graph beta端点的mailboxSettings资源中已提供对应属性。你可以直接发起HTTP GET请求:
GET https://graph.microsoft.com/beta/users/{user-id}/mailboxSettings
返回结果中会包含maxSendSize和maxReceiveSize字段,值为表示字节数的字符串(例如"104857600"对应100MB)。注意v1.0端点暂未支持这两个属性,需使用beta版本。
EWS 方案
通过EWS的GetMailbox操作可直接获取该属性,需构造SOAP请求并发起HTTP POST调用:
- 请求地址:
https://outlook.office365.com/EWS/Exchange.asmx - 身份验证:携带有效的OAuth2 Bearer令牌(需拥有
full_access_as_app或EWS.AccessAsUser.All权限) - SOAP请求体示例:
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <t:RequestServerVersion Version="Exchange2016" /> <t:MailboxCulture>en-US</t:MailboxCulture> <t:TimeZoneContext> <t:TimeZoneDefinition Id="UTC" /> </t:TimeZoneContext> </soap:Header> <soap:Body> <m:GetMailbox> <m:Mailbox> <t:EmailAddress>{user-email-address}</t:EmailAddress> </m:Mailbox> <m:IncludeHiddenFolders>false</m:IncludeHiddenFolders> <m:Properties> <t:PropertyTag>0x666E</t:PropertyTag> <!-- 对应MaxSendSize属性 --> <t:PropertyTag>0x666F</t:PropertyTag> <!-- 对应MaxReceiveSize属性 --> </m:Properties> </m:GetMailbox> </soap:Body> </soap:Envelope>
请求成功后,响应的SOAP Body中会返回这两个属性的字节数值。
内容的提问来源于stack exchange,提问作者Jeff McKay
相关产品推荐
相关产品推荐

