调用Microsoft Graph API发邮件遇HTML内容解析错误求助
使用Microsoft Graph API发送邮件时遇到"Content type text/html does not have a factory registered to be parsed"错误的解决方案
调用graphClient.Users["UserID"].SendMail.PostAsync(requestBody)接口时触发错误:
"Content type text/html does not have a factory registered to be parsed"
相关代码如下:
var scopes = new[] { "https://graph.microsoft.com/.default" }; var tenantId = "XXX"; var clientId = "XXX"; var clientSecret = "XXX"; var options = new TokenCredentialOptions { AuthorityHost = AzureAuthorityHosts.AzurePublicCloud, }; var clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret, options); var graphClient = new GraphServiceClient(clientSecretCredential, scopes); var requestBody = new Microsoft.Graph.Users.Item.SendMail.SendMailPostRequestBody { Message = new Message { Subject = "Meet for lunch?", Body = new ItemBody { ContentType = BodyType.Html, Content = "The new cafeteria is open.", }, ToRecipients = new List<Recipient> { new Recipient { EmailAddress = new EmailAddress { Address = "xxx@xxx.com", }, }, }, CcRecipients = new List<Recipient> { new Recipient { EmailAddress = new EmailAddress { Address = "xxx@xxx.com", }, }, }, }, SaveToSentItems = false, }; await graphClient.Users["UserID"].SendMail.PostAsync(requestBody);
已对照微软邮件权限文档检查并授予了委派权限与应用权限,但问题仍未解决。
可能的解决方法
- 更新Graph SDK版本:该错误多由SDK版本不兼容或缺少序列化工厂导致,确保安装最新稳定版的
Microsoft.Graph和Microsoft.Graph.CoreNuGet包,旧版本存在HTML内容解析的已知bug。 - 手动配置序列化器:若更新SDK后问题依旧,可自定义客户端序列化选项,确保HTML类型被正确处理:
var serializerOptions = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase, Converters = { new JsonStringEnumConverter(), new ItemBodyConverter() // 自定义转换器处理ItemBody的HTML类型解析 } }; var graphClient = new GraphServiceClient( clientSecretCredential, scopes, serializer: new SystemTextJsonSerializer(serializerOptions));
- 排查内容格式:暂时将
ContentType改为BodyType.Text测试能否正常发送,排除HTML内容本身的格式问题(如未转义的特殊字符)。 - 确认权限类型:当前使用客户端凭据流(ClientSecretCredential),需确保应用已授予
Mail.Send应用权限并完成管理员同意——委派权限仅适用于用户交互场景,客户端凭据流不支持。
内容的提问来源于stack exchange,提问作者Ankush Daga
相关产品推荐
相关产品推荐

