Simple email filters you can script
Part 1 of this series on simple email automations began with a look at outbound messages. We exhibited simple scripts that can send out items and even attachments.
This time, we will filter incoming items.
Forwarding facilities
It's possible to filter at several points in the transmission of a message. Most consumer email clients have proprietary filtering capabilities. System administrators generally have ways to filter traffic on a sitewide basis. They often use alias and :include facilities for some of the functions we describe below.
We'll concentrate today on the filtering an individual can write when a Unix machine hosts her mail spool. If your "mail server" is a specific Unix machine that you reach through POP3 or IMAP4 authorization, or by a direct log-in to the host, email is usually delivered by sendmail or a sendmail alternative that is sufficiently compatible to respect .forward.
.forward files tell your email service if you want your email forwarded. Suppose you have an account, someuser, hosted on somemachine.com. Email addressed to someuser@somemachine.com goes straight to that machine's mail spool.
Someday, you might decide it's more convenient for you to forward someuser's email to a machine on a personal network -- say, me3@mymachine.elsewhere.com. If you create a file called .forward in someuser's home directory on somemachine.com, and put the single line
me3@mymachine.elsewhere.com
in that file, then all email addressed to someuser@somemachine.com will actually be delivered to me3@mymachine.elsewhere.com. Specific email services generally impose a few minimal security requirements: .forward must be owned by its own user, have its "user read bit" set, and so on.
Many users take advantage of this simple forwarding capability. It's only the beginning of what a .forward can do for you, though. You can forward your email, but also leave copies where they "naturally" belong, with
\someuser, me3@mymachine.elsewhere.com
You can leave a permanent copy of all your traffic with
\someuser, /usr/users/someuser/backup/allmail
That creates the /usr/users/someuser/backup/allmail file as a huge spool that receives a duplicate of every item sent to someuser.
Your own filters
Most exciting of all is the ability to vector traffic through your own filter scripts. Start experimenting by using
\someuser, "|/usr/users/someuser/programs/mytest"
Then create /usr/users/someuser/programs/mytest as the shell script, with contents
#!/bin/sh
echo "Email received at `date`." >> /usr/users/someuser/logs/maillog
and execution bit set. You'll soon see /usr/users/someuser/logs/maillog accumulating a log of all your email messages.
Several programs have been specifically developed to filter email traffic. We've written before about using procmail to filter out spam and sort incoming traffic into folders. While procmail's excellent performance
Symantec Backup Exec 12 and Backup Exec System Recovery 8 deliver industry leading Windows data protection and system recovery. Download this whitepaper to find out the top reasons to upgrade and how to get continuous data protection and complete system recovery.
Data and system loss — from a hard drive failure, malicious attack, natural disaster, or simple human error — can happen anytime. Don’t leave your business vulnerable. Make sure you have a secure recovery strategy in place. Symantec's latest backup and system recovery technology can efficiently restore critical applications, individual emails and documents and even restore your entire system in minutes in the event of a loss.
Businesses face a growing challenge to ensure that the IT environment is properly protected. Backup Exec 12 integrates with other applications in the Symantec family of products, to complement your current data protection strategy, keep your data securely backed up and make it recoverable when you need it most.







