Advertisement
RobsonAlexandre

Relatorio de qtde de emails - Postfix para Html

Aug 15th, 2012
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.52 KB | None | 0 0
  1. #!/bin/bash
  2. #   -Script criado por
  3. #   -Robson Alexandre <alexandrerobson@gmail.com>
  4. #   -em 15082012 as 15:47
  5. #   -A partir do log do postfix
  6. #   -Cria tabelas em html com qtde de emails enviados por usuário
  7. #   -com links href para cada usuário para outro html com o nome do remetente
  8. #   -detalhando por remetente cada destinatario tambem com suas qtdes
  9. #
  10. #
  11.  
  12. clear
  13. log=mail.log
  14. to=$(mktemp)
  15. from=$(sed -rn '/from=/{s/.*: ([^:]*):.*from=<([^>]*)>.*/\1 \2/;p};' ${log})
  16. sed -rn '/to=/{s/.*: ([^:]*): to=<([^>]*)>.*/\1;\2/;p};' ${log} > ${to}
  17. #echo "$from"
  18. while read msg remetente
  19. do
  20. sed -i "s/$msg/$remetente/g" ${to}
  21. done <<< "${from}"
  22.  
  23. awk '{print $2}' <<< "${from}" | sort | uniq -c > index.html
  24. sed -i 's/^ \+/<TR><TD>/;s/ /<\/TD><TD>/;s/$/<\/TD><\/TR>/' index.html
  25. sed -r -i 's/(.*<TD>)([^<]*)(.*)/\1<a href="\2.html">\2<\/a>\3/' index.html
  26.  
  27. cat <<EOT
  28. ==Arquivo gerado 1 pra 1
  29. EOT
  30. #cat ${to}
  31. echo -e "======================\n"
  32.  
  33. echo "==Qtde de Emails enviados por remetente"
  34. awk '{print $2}' <<< "${from}" | sort | uniq -c
  35. echo -e "======================\n"
  36.  
  37. echo "==Qtde de Emails enviados por cada remetente para destinatario"
  38. echo -e "   Qtde From\tTo"
  39. while read remetente
  40. do
  41. grep "$remetente" ${to} | sort | uniq -c > "${remetente}.html"
  42. cat "${remetente}.html"
  43. sed -i 's/;/<\/TD><TD>/;s/^ \+/<TR><TD>/;s/ /<\/TD><TD>/;s/$/<\/TD><\/TR>/' "${remetente}.html"
  44. sed -i '1i\<HTML><TABLE>' "${remetente}.html"
  45. sed -i '$a\<\/TABLE><\/HTML>' ${remetente}.html
  46. done <<< "$(awk '{print $2}' <<< "${from}" | sort -u)"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement