Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- DSPAM_BINARY="/usr/bin/dspam" ## dspam binaris eleresi uttal
- MAILDIR_PATH="/srv/mail" ## Leveleket tartalmazo mappa
- SPAMDIR_NAME1=".Junk" ## Spam mappa a mailboxon belul
- SPAMDIR_NAME2=".Junk E-mail" ## Spam mappa a mailboxon belul
- SPAMEXPIRE_DAYS=7 ## Spam mappaban talahato levelek lejarata (lejart levelek tanulasa, majd torlese)
- for domain in $(ls -1 ${MAILDIR_PATH}); do
- for user in $(ls -1 ${MAILDIR_PATH}/${domain}); do
- ## SPAM levelek tanitasa - SPAM mappabol (amit configba allitott be)
- if [ -d ${MAILDIR_PATH}/${domain}/${user}/.Maildir/${SPAMDIR_NAME1} ]; then
- for spam_mail in $(find "${MAILDIR_PATH}/${domain}/${user}/.Maildir/${SPAMDIR_NAME1}/cur" -type f -mtime +${SPAMEXPIRE_DAYS} -print); do
- ${DSPAM_BINARY} --user ${user}@$domain --class=spam --source=corpus --mode=teft < "${spam_mail}"
- rm -f ${spam_mail}
- done
- fi
- if [ -d "${MAILDIR_PATH}/${domain}/${user}/.Maildir/${SPAMDIR_NAME2}" ]; then
- ln -s "${MAILDIR_PATH}/${domain}/${user}/.Maildir/${SPAMDIR_NAME2}" "${MAILDIR_PATH}/${domain}/${user}/.Maildir/_DSPAM_TEMP"
- for spam_mail in $(find "${MAILDIR_PATH}/${domain}/${user}/.Maildir/_DSPAM_TEMP/cur" -type f -mtime +${SPAMEXPIRE_DAYS} -print); do
- ${DSPAM_BINARY} --user ${user}@$domain --class=spam --source=corpus --mode=teft < "${spam_mail}"
- rm -f ${spam_mail}
- done
- rm -f "${MAILDIR_PATH}/${domain}/${user}/.Maildir/_DSPAM_TEMP"
- fi
- if [ -d "${MAILDIR_PATH}/${domain}/${user}/.Maildir" ]; then
- ## HAM levelek tanitasa - Beerkezo mappa olvasott levelek mappabol
- for ham_mail in $(find "${MAILDIR_PATH}/${domain}/${user}/.Maildir/cur" -type f -mtime 0 -print); do
- ${DSPAM_BINARY} --user ${user}@$domain --class=innocent --source=corpus --mode=teft < "${ham_mail}"
- done
- ## HAM levelek tanitasa - IMAP mappak olvasott levelek mappaibol
- for imap_dir in $(find ${MAILDIR_PATH}/${domain}/${user}/.Maildir -maxdepth 1 -type d -name ".*" -print); do
- if [ "${imap_dir}" = "${MAILDIR_PATH}/${domain}/${user}/.Maildir" ] ||
- [ "${imap_dir}" = "${MAILDIR_PATH}/${domain}/${user}/.Maildir/${SPAMDIR_NAME}" ] ||
- [ "${imap_dir}" = "${MAILDIR_PATH}/${domain}/${user}/.Maildir/.Sent" ] ||
- [ "${imap_dir}" = "${MAILDIR_PATH}/${domain}/${user}/.Maildir/.Sent Items" ] ||
- [ "${imap_dir}" = "${MAILDIR_PATH}/${domain}/${user}/.Maildir/.Deleted Items" ] ||
- [ "${imap_dir}" = "${MAILDIR_PATH}/${domain}/${user}/.Maildir/.Drafts" ] ||
- [ "${imap_dir}" = "${MAILDIR_PATH}/${domain}/${user}/.Maildir/.Trash" ]; then
- continue
- fi
- if [ -d ${imap_dir}/cur ]; then
- for ham_mail in $(find ${imap_dir}/cur -type f -mtime 0 -print); do
- ${DSPAM_BINARY} --user ${user}@$domain --class=innocent --source=corpus --mode=teft < ${ham_mail}
- done
- fi
- done
- fi
- done;
- done;
Add Comment
Please, Sign In to add comment