[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