summaryrefslogtreecommitdiff
path: root/localshowmaildelivered
blob: 734019654f5dfa58843938fd826549e241b41914 (plain)
  1. #!/bin/sh
  2. #
  3. # /usr/local/sbin/localshowmaildelivered
  4. # Copyright 2007 Jonas Smedegaard <dr@jones.dk>
  5. #
  6. # $Id: localshowmaildelivered,v 1.5 2007-10-03 17:38:17 jonas Exp $
  7. #
  8. # List recently delivered emails
  9. #
  10. logfiles="${logfiles:-1}"
  11. hinttype="${hinttype:-dovecot}"
  12. mailname="$(cat /etc/mailname | head -n 1)"
  13. case $hinttype in
  14. dovecot)
  15. # Dovecot "deliver"
  16. egrep_before='deliver\(('
  17. egrep_after=')\).*saved mail to '
  18. sed='s/^\(.\{15\}\) [^)]*): msgid=/\1 (/;s/: saved mail to/)/;s/ INBOX$//'
  19. ;;
  20. procmail)
  21. # Postfix/local via procmail
  22. egrep_before=' postfix/local.*: to=<'
  23. egrep_after='@'"$mailname"'>, .*status=sent \(delivered to command: procmail'
  24. sed='s/^\(.\{15\}\) [^:]*: /\1 (/;s/: .*$/)/'
  25. ;;
  26. *)
  27. echo >&2 "ERROR: unknwon logtype \"$logtype\""
  28. exit 1
  29. ;;
  30. esac
  31. localuser="$1"
  32. find /var/log -name 'mail.log*' | sort -nr -t. -k3 | tail -n "$logfiles" | xargs zcat -f \
  33. | egrep -- "$egrep_before$localuser$egrep_after" \
  34. | sed "$sed"