Jani Nikula <jani.nikula@xxxxxxxxx> wrote: > From the RFC nitpicking department, msg-id is allowed to contain CFWS > (comments and folding white space) outside the angle brackets, which > means you could have RFC compliant Message-ID header field: > > Message-ID: > <message-id@xxxxxxxxxxx> > > or > > Message-ID: (comment) > <message-id@xxxxxxxxxxx> > > or even worse, really. > > The moral of the story is that you should always offload the header > parsing to some tool or library designed to do that. It's a bit much for common cases with git-send-email and reasonable MUAs, I think. I don't know if formail is commonly installed, nowadays... Fwiw, the code running lore uses something like this: /^Message-ID:[ \t]*([^\n]*\r?\n # 1st line # continuation lines: (?:[^:\n]*?[ \t]+[^\n]*\r?\n)*) /ismx I'm fine with this non-trivial regexp being included with GPL-2.0 code; but it could be too big for a one-liner *shrug* ... And <([^>]+)>/s to extract Message-IDs, but ISTR the code behind lore doesn't handle spaces inside <> properly, but I'm not sure if there's enough valid, non-spam messages with them...