{"action":"opened","issue":{"url":"https://api.github.com/repos/jstedfast/MimeKit/issues/185","labels_url":"https://api.github.com/repos/jstedfast/MimeKit/issues/185/labels{/name}","comments_url":"https://api.github.com/repos/jstedfast/MimeKit/issues/185/comments","events_url":"https://api.github.com/repos/jstedfast/MimeKit/issues/185/events","html_url":"https://github.com/jstedfast/MimeKit/issues/185","id":115721335,"number":185,"title":"MimeMessage.Headers Doesn't Include All Message Headers","user":{"login":"nitinag","id":1013396,"avatar_url":"https://avatars.githubusercontent.com/u/1013396?v=3","gravatar_id":"","url":"https://api.github.com/users/nitinag","html_url":"https://github.com/nitinag","followers_url":"https://api.github.com/users/nitinag/followers","following_url":"https://api.github.com/users/nitinag/following{/other_user}","gists_url":"https://api.github.com/users/nitinag/gists{/gist_id}","starred_url":"https://api.github.com/users/nitinag/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nitinag/subscriptions","organizations_url":"https://api.github.com/users/nitinag/orgs","repos_url":"https://api.github.com/users/nitinag/repos","events_url":"https://api.github.com/users/nitinag/events{/privacy}","received_events_url":"https://api.github.com/users/nitinag/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-11-08T10:03:11Z","updated_at":"2015-11-08T10:03:11Z","closed_at":null,"body":"I would expect **MimeMessage.Headers** to return all the actual headers of the message (in the same order as the message). However, it separates out the Content-Type header (Content-*) onto MimeMessage.Body.Headers, which breaks this assumption. This leads to bugs like https://github.com/jstedfast/MimeKit/issues/157 among others. I understand why having it there on MimeMessage.Body makes sense, but why not also ensure MimeMessage.Headers matches the actual message headers count thus keeping that assumption as well?\r\n\r\nAs a workaround, currently one can separately use HeaderList.Load when they need the full headers of the message, which would keep that MimeMessage.Headers expectation intact, but it seems like the library should keep that expectation by default?"}}