Procmail script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Procmail script
# 1  
Old 01-28-2009
Procmail script

Hi,

I need to write a procmail script such that:

- incoming email is scanned to see if it is spam
- if spam deliver to spam folder
- otherwise deliver to inbox and send a copy to another address.

So far I have:

Code:
:0
* ^Subject:.*SPULK
DUMB

I can make a new recipe on to forward mail to the user's inbox and the other address. Since if it is not spam, procmail will just read the next receipe. If it is SPAM procmail will just execute what is in the first recipe and then get out of .procmailrc

Last edited by mojoman; 01-28-2009 at 05:09 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Help with SendMail Procmail filtering

Hi All, I am very new to Unix. I have a test server running FreeBSD 10.1 and SendMail 8.14.9. I need to filter incoming emails based on the sender's email address or domain and forward them to another address on a different domain as well as to the original recipient. Can I achieve this with... (1 Reply)
Discussion started by: simplemind
1 Replies

2. UNIX for Dummies Questions & Answers

Procmail

Hi, I have a few questions. I am new to UNIX/Linux. At work I notice that our mail server uses sendmail. When I looked in the sendmail.cf file I see that it is using PROCMAIL as the Local Delivery Agent. Questions:- I looked for /etc/procmail to see its configuration file but I see none.... (0 Replies)
Discussion started by: mojoman
0 Replies

3. UNIX for Dummies Questions & Answers

a few questions about procmail

Hello, I am running a email server on Centos 5.3 (dovecot, postfix, with emails for a few domains) and I am wondering whether I am using procmail or not. I know procmail is installed because procmail -version returns: Locking strategies: dotlocking, fcntl() Default rcfile: ... (0 Replies)
Discussion started by: JCR
0 Replies

4. UNIX for Dummies Questions & Answers

Procmail or Spamassassin?

Hello, this is my first visit to your forum and I've searched previous threads for my answer but have not been able to find one. Apologies if there is one that I didn't discover. Is there a way of bouncing or deleting spam that contains non-existent addresses in TO: field but is delivered due... (1 Reply)
Discussion started by: WendyTinley
1 Replies

5. Shell Programming and Scripting

Help with procmail mailing list

I need to find out for sure whether or not Solaris 10x86 comes with procmail installed? I only need it for mail subscription "Only" WE have about 51 mailing lists subscriptions from listproc. I need help just doing mailing lists. How to best go about this? I downloaded version for Solaris... (0 Replies)
Discussion started by: parente
0 Replies

6. UNIX for Dummies Questions & Answers

procmail code help

Hello, I was wondering if my code is correct on a procmail recipe I am trying to use. I am trying to set up custom filter for for my email address. What needs to happen is any email NOT addressed to me in the to: or cc: field is deleted. For the time being it is set it up to go to another... (0 Replies)
Discussion started by: Hexabah
0 Replies

7. Email Antispam Techniques and Email Filtering

procmail rule

I can tell this is not a recently active formum, but here goes, "why doesn't this procmail rule block messages with víagra or v1agra appearing in the subject header :0 * ^Subject:.*(víagra¦v1agra¦pénis¦prescripti0n¦Medicati0n¦M0rtgage¦Xanaxz) { LOG="(THE 7 DIRTY WORDS) " :0 ... (4 Replies)
Discussion started by: jones
4 Replies

8. Email Antispam Techniques and Email Filtering

help requested: procmail receipes

Hello all. I want some help procmail receipe. I tried to get some mails' sender and receiptient. Then tried to send them a bash script. But it didnot work. I try a lot of variation of the below receipe. Could anyone can help what is wrong on my receipe? Or if the recepie is correct what can be... (0 Replies)
Discussion started by: kedi
0 Replies

9. UNIX for Dummies Questions & Answers

Procmail filter

Hello, I want to make a filter with procmail, using the day of the week ant the hour to filter the message. If the day is Tuesday, the message is redirected to one address. On the other days, the message goes to another address. The messages will be redirected at 8 am to 17 pm. I tried... (1 Reply)
Discussion started by: luiz_fer10
1 Replies

10. UNIX for Dummies Questions & Answers

Procmail Tutorial

Hello, Somebody knows a good procmail tutorial in the net? Thanks!:) (1 Reply)
Discussion started by: luiz_fer10
1 Replies
Login or Register to Ask a Question
IFILE(1)							   User Commands							  IFILE(1)

NAME
ifile - core executable for the ifile mail filtering system SYNOPSIS
ifile [-b file] [-q|-Q] [-g] [-k] [-o] [-v num] [lexing options] file ... ifile -c -q|-Q [-T threshold] [-b file] [-g] [-k] [-o] [lexing options] file ... ifile [-b file] [-d folder] [-i folder|-u folder] [-g] [-k] [-o] [-v num] [lexing options] file ... ifile -r [-b file] DESCRIPTION
ifile is a mail filter client that uses machine learning to classify e-mail into folders/mail boxes. The algorithm that it uses is called Naive Bayes. Basically, naive bayes considers each document an unordered collection of words and classifies by matching the document dis- tribution with the most closely matching folder/mailbox distribution. OPTIONS
-b, --db-file=file Location to read/store ifile database. Default is ~/.idata -c, --concise equivalent of "ifile -v 0 | head -1 | cut -f1 -d". Must be used with -q or -Q. -d, --delete=folder Delete the statistics for each of files from the category folder -f, --folder-calcs=folder Show the word-probability calculations for folder -g, --log-file Create and store debugging information in ~/.ifile.log -i, --insert=folder Add the statistics for each of the files to the category folder -k, --keep-infrequent Leave in the database words that occur infrequently (normally they are tossed) -l, --query-loocv=folder For each of the files, temporarily removes file from folder, performs query and then reinserts file in folder. Database is not mod- ified. -o, --occur Uses document bit-vector representation. Count each word once per document. -q, --query Output rating scores for each of the files -Q, --query-insert For each of the files, output rating scores and add statistics for the folder with the highest score -T, --threshold=threshold When used with both -c and -q, output the two highest ranking categories if their score differs by at most threshold / 1000, which can be used to detect border cases. When used with -q only and any threshold > 0, output the score difference percentage. For example, ifile -T1 -q foo.txt might result in spam -15570.48640776 non-spam -18728.00272369 diff[spam,non-spam](%) 9.21 If so, then ifile -T93 -q -c foo.txt will result in foo.txt spam,non-spam whereas ifile -T92 -q -c foo.txt will result in foo.txt spam -r, --reset-data Erases all currently stored information -u, --update=folder Same as 'insert' except only adds stats if folder already exists -v, --verbosity=num Amount of output while running: 0=silent, 1=quiet, 2=progress, 3=verbose, 4=debug Lexing options: -a, --alpha-lexer Lex words as sequences of alphabetic characters (default) -A, --alpha-only-lexer Only lex space-separated character sequences which are composed entirely of alphabetic characters -h, --strip-header Skip all of the header lines except Subject:, From: and To: -m, --max-length=char Ignore portion of message after first char characters. Use entire message if char set to 0. Default is 50,000. -p, --print-tokens Just tokenize and print, don't do any other processing. Documents are returned as a list of word, frequency pairs. -s, --no-stoplist Do not throw out overly frequent (stoplist) words when lexing -S, --stemming Use 'Porter' stemming algorithm when lexing documents -w, --white-lexer Lex words as sequences of space separated characters If no files are specified on the command line, ifile will use standard input as its message to process. -?, --help Give this help list --usage Give a short usage message -V, --version Print program version Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options. FILES
~/.idata ifile database (default location). See FAQ included in ifile package for description of database format. AUTHOR
Jason Rennie <jrennie@csail.mit.edu> and many others. See the ChangeLog for the full list. EXAMPLES
Before using ifile, you need to train it. Let's say that you have three folders, "spam", "ifile" and "friends", and the following direc- tory structure: /--+--spam----+--1 | +--2 | +--3 | +--ifile---+--1 | +--2 | +--3 | +--friends-+--1 +--2 +--3 The following commands build the ifile database in ~/.idata (use the -d option to specify a different location for the database): ifile -h -i spam /spam/* ifile -h -i ifile /ifile/* ifile -h -i friends /friends/* The -h option strips off headers besides "Subject:", "From:" and "To:". I find that -h improves ifile's performance, but you may find oth- erwise for your personal collection. Note that we have made the argument to -i the same as the corresponding folder name. This is not necessary. The argument to -i can be any word you want to use to identify a category of e-mails. The argument to -i must not include space characters (including tab, feedline, etc.). At this point, your ~/.idata file should look something like this: spam ifile friends 662 1020 6451 3 3 3 jrennie 9 0:3 1:18 2:16 mindspring 6 1:7 2:5 make 9 0:5 1:3 yahoo 9 0:1 1:22 2:2 The first line is the space-separated list of folders. Their ordering specifies a numbering (spam=0, ifile=1, friends=2). The second line is a token count for each folder (e.g. 662 tokens observed in the three spam messages). The third line is an e-mail count for each folder (e.g. 3 e-mails for each of spam, ifile and friends). Each following line specifies statistics for a word. The format of a line is word age folder:count [folder:count ...] where folder is the folder number determined by the first line ordering. Folders with a count of zero are not listed. So, the line begin- ning with "jrennie" indicates that "jrennie" appeared 3 times in "spam" e-mails, 18 times in "ifile" e-mails and 16 times in "friends" e- mails. The age is the number of e-mails that have been processed since the word was added to the database. Very infrequent words are pruned from the database to keep the database size down. Now that you have a database, you might want to filter some e-mails. Say you have the following incoming e-mails: /--inbox--+--1 +--2 +--3 To find out what folders ifile thinks these e-mails belong in, run ifile -c -q /inbox/1 ifile -c -q /inbox/2 ifile -c -q /inbox/3 Let's say that 1 is about ifile, 2 is spam and 3 is from a friend. Assuming ifile does its job correctly, you'll see output like this: /inbox/1 ifile /inbox/2 spam /inbox/3 friends With such little training data, ifile is unlikely to get the labels correct, but you should get the idea :-) Now, if you move the e-mails to the folders suggested by ifile, you'll want to update the database accordingly. You can do this with the -i option, like before. Or, you can simply use -Q in place of -q above. This automatically adds the e-mail to the folder ifile suggests. Now, assume for a moment that e-mail 1 was actually spam. We've added 1 to ifile and put it in the ifile folder. We need to move it to the spam folder and update the ifile database accordingly. We can update the database with the following command: ifile -d ifile -i spam /inbox/1 This deletes the e-mail from "ifile" and adds it to "spam". SEE ALSO
Examples of how to use ifile together with procmail(1) and metamail(1) can be found in the directory /usr/share/doc/ifile/examples. ifile 1.3.4 November 2004 IFILE(1)