简体   繁体   中英

Save mail message as a file on Linux using sendmail

I have an application running on several RHEL 5.8 systems which monitors and alerts (via email). I need to create a durable log of these alerts locally on each node.

I think the easiest way to do this would be to add a local email user to the alerts and then use mailbox settings or a script (if needed) to save each message on a local filesystem

I would settle for message body dumped to a text file (one file per email.)

It would be better if it could extract time, host, subject, & body as seperate fields for consumption by an open source log reader.

My systems are using sendmail 8.1 and I would prefer to stick with it, although I also have postfix 2.3.3 available.

As you reported your sendmail uses procmail as local mailer => create special OS user account (eg log_user) and use ~log_user/.procmailrc to instruct procmail to deliver messages to maildir folder.

~log_user/.procmailrc

# deliver ALL messages to ~/maillog/ maildir. 
# see "man procmailex" for email sorting examples 
:0
maillog/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM