[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1049986: ITP: filtermail -- Filtermail filters incoming e-mail as accepted, spam, or ignored



Package: wnpp
Severity: wishlist
Owner: Frank Brokken <f.b.brokken@rug.nl>
X-Debbugs-Cc: debian-devel@lists.debian.org

* Package name    : filtermail
  Version         : 1.02.00
  Upstream Contact: Frank B. Brokken <f.b.brokken@rug.nl>
* URL             : https://fbb-git.gitlab.io/filtermail
* License         : GPL
  Programming Lang: C++
  Description     : Filtermail filters incoming e-mail as accepted, spam, or ignored

Filtermail filters incoming e-mail as either accepted, spam, or ignored
e-mail. It uses rule files, which are inspected in sequence until the incoming
e-mail matches a rule. Once that happens the rule's associated action (accept,
spam, or ignore) is executed. If the e-mail is not matched by any rule then
the e-mail is accepted.

Accepted e-mail normally is appended to the mail file which is used by the
incoming mail server when receiving mail for the current user. E.g., if the
user's username is frank then incoming mail is appended to the file
/var/mail/frank. Users may also define directories to contain saved e-mails
(e.g., ~/Mail), and filtermail can be configured to append e-mail considered as
spam to, e.g., ~/Mail/spam. Likewise, e-mail matching the 'ignore'
criteria could be appended to ~/Mail/ignore. 

Instead of appending the complete e-mail to its destination file the received
e-mail's From: and Subject: headers can be appended to its destination
file. Alternatively, such e-mail can also be ignored, losing it completely.

Filtermail uses three types of files:
    * The configuration file contains values of options with are generally
        used (covered in the man-page's sections CONFIGURATION and OPTIONS);
    * Mail filtering rules are hierarchically ordered in the rules
        file: incoming mail is sequentially matched against the patterns
        defined in files specified in the rules file until a match is
        found. Once a match has been found the rule's action (accept, ignore
        or spam) is executed, ending the filtering process;
    * Each file specified in the rules file defines matching patterns, which
        are tested sequentially. Testing those patterns ends once the incoming
        mail matches a pattern.

In addition to the filtermail program itself a small support program 'inspect'
is part of filtermail: inspect expects a received e-mail file at its standard
input. Mail handling programs (e.g., mutt(1)) allow its users to pipe an
e-mail file to a program, inspecting the received e-mail.  Depending on the
content of the Received: headers inspect's output shows the domain name of the
sender, its IP address, its country of origin and the cidr-range containing
the received IP address. If the received e-mail is considered conspicuous
(e.g., spam or mail to ignore) then the mail's details, e.g. its cidr
range. could be added to the file recognizing spam-rated e-mail.

 - why is this package useful/relevant? 
    The main reason for developing filtermail was the fact that I frequently
    receive mail which is either spam or which is completely irrelevant and
    annoying. Previously I used a bash-script to filter such mail, but that
    script eventually was hard to maintain. A compilable program offers, IMHO,
    better facilities for maintenance and modifications so I wrote
    filtermail. Over the past three months it performed its job as
    expected. E.g., of the about 300 e-mails I received in the category
    'igored' were all correctly categorized.

  - it a dependency for another package? 
     No, it's a stand-alone program

  - do you use it? 
     Yes, I do

  - if there are other packages providing similar functionality, how does it
    compare?  
     There exists a program 'mailfilter' focusing on handling pop-accounts and
     also offering ways to recognize e-mail as spam. Filtermail, on the other
     hand, uses the 'ignore' category in addition to the 'spam' category and
     primarily aims at categorizing (in various forms) incoming e-mail.

 - how do you plan to maintain it? 
     I have a long history of building and maintaining programs, many of them
     are also registered as Debian packages. I handle the maintenance of the
     programs myself, and almost all my direct contact with Debian is via Tony
     Mancill (tmancill@debian.org) who is a Debian developer. When there's a
     new version of one of my Debian provided programs I prepare the required
     update, upload it to salsa, and send Tony an e-mail asking him to verify
     the latest update.

     Filtermail's website is at https://fbb-git.gitlab.io/filtermail/ where
     you also find links to the man-pages, to its repository, and to a list of
     programs I developed, most of them are available as Debian packages.

   - do you need a sponsor?
      If I'm correct then the 'sponsor' is a Debian maintainer who's willing to
      adopt a program for Debian. If so, then yes, I do.
  
    I hope you like filtermail!


Reply to: