[PLUG] Help with email scripts...
Michael Christopher Robinson
michael at robinson-west.com
Sun Jun 23 23:14:54 UTC 2019
On Sun, 2019-06-23 at 17:54 -0500, Michael Christopher Robinson wrote:
> I am having trouble using grep to grab subject lines from my spam
> folder on eskimo. Some of the subject lines are unintelligible
> because
> they are utf8xxxxxxx and are probably part of a larger html message.
> Is there a slick way to get the subject line without reading the
> whole
> entire message in an html browser?
>
> Attached are two scripts. The spam_dump.bash script is supposed to
> dump the spam folder and be used once a week. I wonder if the gurus
> here can take a look and see if I can do this better? The
> spam_check.bash script is supposed to grep the subject lines o, so I came
> up with an idea of fetching just a subject list of messages in a spam
> folder and automating the dumping of that spam folder.
>
> -- Michael C. Robinson
[michael at eagle ~]$ cat spam_check.bash
#!/bin/bash
cd ~/mail
cat spam|grep 'Subject: ' > spam_subjects
mail -s "Spam subject list" admin at robinson-west.com < spam_subjects
rm -f spam_subjects
[michael at eagle ~]$
[michael at eagle ~]$ cat spam_dump.bash
#!/bin/bash
#
# Launch from crontab once a week at midnight.
#
# Snapshot current spam folder.
# Dump spam folder by copying over it empty spam mbox.
cd ~
# Figure out how many backups there are.
count=`cat archive_spam/count`
# Dump the backups after four back ups.
if [ "$count" -gt "4" ]
then
# Store a list of what is in archive_spam directory for
emailing...
ls -l archive_spam > file_list
# Email to admin what is being dumped, file list in body...
mail -s "Dump last four weeks of spam" admin at robinson-west.com <
file_list
if [ ! -d ~/archive_spam/hold ]
then
mkdir ~/archive_spam/hold
fi
# Get a listing of the spam subjects...
./spam_check.bash
# Move the backups into hold...
mv -vf archive_spam/spam_mbox.* archive_spam/hold/
# Dump the 4 weeks of backups of spam mboxes...
rm -vf archive_spam/spam_mbox.*
# Set count back to 1...
let count=1
fi
diff mail/spam archive_spam/spam_template_mbox
spam_empty=$?
# Save this spam mbox unless it is empty...
if [ ! $spam_empty ]
then
# Backup the current spam folder...
cp mail/spam archive_spam/spam_mbox.$count
# Copy over spam folder empty spam folder...
cp -f archive_spam/spam_template_mbox mail/spam
# Increment the backups counter...
let count="$count + 1"
else
mail -s "The spam folder was empty at dump time!"
admin at robinson-west.com <<EOF
The empty spam folder matches the current spam folder...
EOF
fi
# Store the backup count for the next run...
echo $count > archive_spam/count
More information about the PLUG
mailing list