If you send the message as MIME that should let you work around it https://learn.microsoft.com/en-us/graph/outlook-send-mime-message, any reason you setting such a high number of individual headers ? if they are all small headers you could just create one header and encode the key/values as a json doc (this is a method that is used by the Antispam/hygiene processes). Creating large number of X-headers can lead X-haustion see to https://techcommunity.microsoft.com/t5/exchange-team-blog/named-properties-x-headers-and-you/ba-p/601652 this is most likely the reason they put that limitation in.
Is there a way to bypass the limit of InternetMessageHeaders?
Using Microsoft Graph API to append a list of InternetMessageHeaders to a mail, I get the following error:
{"statusCode":400,
"code":"InvalidInternetMessageHeaderCollection",
"requestId":null,
"date":"",
"body":"{
"code":"InvalidInternetMessageHeaderCollection",
"message":"Maximum number of headers in one message should be less than or equal to 5."
}
"}
Why is there a maximum limit, especially when the normal number of default headers is greater then that? And is there a way to bypass these limit?
Thank you
2 answers
Sort by: Most helpful
-
-
Pedro Torres 1 Reputation point
2022-03-08T10:23:30.797+00:00 Hi Glen, thank you for your reply.
I wanted to set a high number of headers - around 10 - for compatibility with an existing system that expects individual headers in my company. The solution using just one header unfortunately would require a lot of rewriting of that system to accept the JSON key values in one header, so it isn't the preferred solution...
In regards to using MIME, I tried doing the following in the Graph Explorer:- Using GET with the $value segment in the url request, I got a message (which already had 3 custom headers) in the MIME format;
- I added 7 additional headers to that content and used https://www.base64encode.org/ to encode that into base 64 (using that encoder to split lines into 76 characters).
- Sent that base64 string using Graph.
The email that resulted from that did not include the 7 additional headers but included the original 3 custom headers (I added those previously using Office.context.maibox.item.setAsync() in compose mode). What could be the issue stopping those headers from being sent/received?
Any help would be much appreciated