How to i send /var/mail/root again

emaileximgreploggingsendmail

Through some misconfiguration I've a lot of emails in /var/mail/root and /var/mail/www-data

How can I "loop" over these files and send each mail another time?

Best Answer

formail, part of procmail (and probably already available on your system) can take a mailbox, split it up into messages, and then run a command on each one. From the man page:

   -s   The input will be split up into separate mail messages, and  piped
        into  a  program  one  by  one (a new program is started for every
        part).  -s has to be the last option specified, the first argument
        following  it  is  expected to be the name of a program, any other
        arguments will be passed along to it.  If you  omit  the  program,
        then  formail  will  simply  concatenate the split mails on stdout
        again.  See FILENO.

So you can do what I think you want like this:

  formail -s /usr/sbin/sendmail -oi -t < /var/mail/root