#!/bin/sh # # /usr/local/sbin/localshowmaildelivered # Copyright 2007 Jonas Smedegaard # # $Id: localshowmaildelivered,v 1.5 2007-10-03 17:38:17 jonas Exp $ # # List recently delivered emails # logfiles="${logfiles:-1}" hinttype="${hinttype:-dovecot}" mailname="$(cat /etc/mailname | head -n 1)" case $hinttype in dovecot) # Dovecot "deliver" egrep_before='deliver\((' egrep_after=')\).*saved mail to ' sed='s/^\(.\{15\}\) [^)]*): msgid=/\1 (/;s/: saved mail to/)/;s/ INBOX$//' ;; procmail) # Postfix/local via procmail egrep_before=' postfix/local.*: to=<' egrep_after='@'"$mailname"'>, .*status=sent \(delivered to command: procmail' sed='s/^\(.\{15\}\) [^:]*: /\1 (/;s/: .*$/)/' ;; *) echo >&2 "ERROR: unknwon logtype \"$logtype\"" exit 1 ;; esac localuser="$1" find /var/log -name 'mail.log*' | sort -nr -t. -k3 | tail -n "$logfiles" | xargs zcat -f \ | egrep -- "$egrep_before$localuser$egrep_after" \ | sed "$sed"