I find this discussion a bit…surprising? It seems like "mboxgrep" 
(https://datatipp.se/mboxgrep/) does this just fine. E.g.

  mboxgrep -rH -m maildir 'Date: Sun, 17 Mar 2019 21:24:26 -0700' dir

recursively searches the headers of all mailboxes within 'dir' for the pattern 
specified. I don't know that "-m maildir" is necessary, but it works.
And if you don't have mboxgrep or don't feel like installing it (e.g. for a 
one-off), just plain old grep will get you 90% of the way there, assuming  you 
can tolerate a few false positives if there are email messages that  happen to 
have that same date string in their bodies (e.g. quoting messages):
  fgrep -r 'Date: Sun, 17 Mar 2019 21:24:26 -0700' dir

And of course you could add a ^ to the front and make it a regexp (and add -G 
in the case of mboxgrep, or switch to grep from fgrep).

Oh, you ask:
> I can grep for the E-Mail but then I'm left with the issue of
> extracting the body/text which is what I actually want.  Can I
> 'pipe' the mailbox (found by grep) into mutt and then get the
> output on stdout, that's what I'd need.

Well, you can just use grep to determine which file contains what you want, and 
direct mutt to that particular mailbox file.

It does not, to me, seem like this is either "odd" or a "corner case." This is 
searching for a particular header in a set of messages, that should not be a 
rare requirement, although of course many people never do it. It is also, 
however, out of scope for mutt — mutt isn't a tool for searching multiple 
mailboxes. Perhaps there's a better mailing list for this sort of question?

--
jh...@alum.mit.edu
John Hawkinson

> Chris Green <c...@isbd.net> writes:
>
> > I'm looking for a way to find (and display) an E-Mail when I know
> > the exact value of the Date: header.
> > The 'usual' search programs such as Mairix can't do this as they
> > all expect a date range and also expect it to be at least a day
> > long.
> > I've also tried grepmail but that seems not to be able to search
> > maildir E-Mails.
> >
> > Is there anything out there that can do this?
> > I can grep for the E-Mail but then I'm left with the issue of
> > extracting the body/text which is what I actually want.  Can I
> > 'pipe' the mailbox (found by grep) into mutt and then get the
> > output on stdout, that's what I'd need.

Reply via email to