Mailfromd README
See the end of file for copying conditions.

  A Lluis Llach, per obrir els nous horitzons.

* Introduction

This file contains brief information about configuring, testing
and running Mailfromd. It is *not* intended as a replacement
for the documentation, it is provided as a brief reference only.
The complete documentation for Mailfromd is available in
doc/ subdirectory. To read it without installing the package
run `info -f doc/mailfromd.info'. After the package is installed
the documentation can be accessed running `info Mailfromd'.  Invoking
`info mailfromd' (with lower-case `m') will show you a concise
description of the command line syntax (similar to a man-page style).
Invoking `info mtasim' will bring you to a description of `mtasim', an
MTA simulator for testing Mailfromd scripts.

An online copy of the documentation in various formats is available
at http://mailfromd.man.gnu.org.ua.

* Overview

Mailfromd is a general-purpose Sendmail filter.  It implements an
effective and easy-to-learn language that allows to write mail
filters of arbitrary complexity.  A reach set of built-in functions
provides interfaces for sender address verification (a.k.a. `callout'),
greylisting, SPF, Sieve, etc.

Sender address verification, implemented by mailfromd allows
you to block a sender address if it is not deliverable, thereby
cutting off a large amount of spam.  It is also useful to block mail
for undeliverable recipients, for example on a mail relay host that
does not have a list of all the valid recipient addresses. This
prevents undeliverable junk mail from entering the queue, so that your
MTA doesn't have to waste resources trying to send `MAILER-DAEMON'
messages back. 

Greylisting allows to temporarily reject messages coming from
suspicious addresses.  If the mail is legitimate, this will
make the originating server retry the delivery later, at which time
the destination will accept it.  If, however, the mail is a spam, it will
probably never be retried, so the users will not be bothered by it.

SPF, or the Sender Policy Framework, is an extension to SMTP
protocol that allows to identify forged identities supplied with the
`MAIL FROM' and `HELO' commands.  The framework is defined in
RFC 4408 (http://tools.ietf.org/html/rfc4408).

Sieve is a powerful mail filtering language, defined in RFC 3028.
Mailfromd provides a Sieve interface that makes it possible to extend
its functionality with the tests supported by Sieve.

The program runs as a daemon, communicating with Sendmail via Milter
interface. 

* Building

You will need the following packages in order to build mailfromd:

+---------------+--------------+----------------------------------------+
| Package       | Min. Version | Available From                         |
+---------------+--------------+----------------------------------------+
| GNU mailutils |     3.4      | http://mailutils.org                   |
| GNU adns      |     1.5.1    | http://www.gnu.org/software/adns       |
+---------------+--------------+----------------------------------------+

In general, the usual build sequence applies:

  ./configure
  make
  make install 

For detailed instructions, please refer to the node "Building" in the
accompanying documentation. If you have GNU texinfo installed on your
system, run

    info --node Building -f doc/mailfromd

from the package root directory, or visit the following URL:

http://puszcza.gnu.org.ua/software/mailfromd/manual/html_section/Building.html

* Configuring and Running

Please, see mailfromd documentation.
  
* Bug reporting.		

Send bug reports to <bug-mailfromd@gnu.org.ua>. 


* Copyright information:

Copyright (C) 2005-2025 Sergey Poznyakoff

   Permission is granted to anyone to make or distribute verbatim copies
   of this document as received, in any medium, provided that the
   copyright notice and this permission notice are preserved,
   thus giving the recipient permission to redistribute in turn.

   Permission is granted to distribute modified versions
   of this document, or of portions of it,
   under the above conditions, provided also that they
   carry prominent notices stating who last changed them.


Local Variables:
mode: outline
paragraph-separate: "[ 	]*$"
version-control: never
End:
