[PLUG] Help with email scripts...

brooks at netgate.net brooks at netgate.net
Mon Jun 24 00:34:27 UTC 2019


Take a look at RFC 1342:

https://tools.ietf.org/html/rfc1342

>From that:
-----------------------------------------------------------------
An "encoded-word" is a sequence of printable ASCII characters that
    begins with "=?", ends with "?=", and has two "?"s in between. 
-----------------------------------------------------------------

Not sure if you just want to toss these away or what. But you might 
want to possibly try something like this:

#!/bin/bash

$file = "/your_subject.txt"

# if RFC1341 discard
if [ ! `grep -q '^Subject: =?' mailfile` ]
then

         grep '^Subject: >> $file
fi


Kevin


On Sun, 23 Jun 2019, Michael Christopher Robinson wrote:

> 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
>
> _______________________________________________
> PLUG mailing list
> PLUG at pdxlinux.org
> http://lists.pdxlinux.org/mailman/listinfo/plug
>



More information about the PLUG mailing list