The current behaviour of "notmuch show --part=1 --raw" is somewhat peculiar. This is supposed to be the message body, but if the message is multipart, it also includes the headers. This seems to be a direct translation of an implimentation of quirk of gmime. In gmime 3.0 this quirk goes away, and the behaviour of notmuch consequently changes, unless we do something about it. I actually think the new behaviour makes more sense (you only get the headers with part=0). There seem to be several options 1) Bug-for-Bug-compatibility: Add special case code for gmime-3.0 to output headers. 2) Allow-varying-output: Consider the previous behaviour a bug, fixed by using gmime-3.0. This makes it hard for people to rely on, although how one relies on it currently since it varies by message is a mystery. 3) Fix the alleged bug: special case the output of the body with gmime-2.6 to avoid outputting headers. d