=head1 NAME

public-inbox-mda - mail delivery agent for public-inbox

=head1 SYNOPSIS

  public-inbox-mda </path/to/RFC2822_message

=head1 DESCRIPTION

Mail Delivery Agent (MDA) for public-inbox installations.
Each system user may have their own public-inbox instances.
This may be invoked via L<procmail(1)> or similar tools.

By default, it relies on L<spamc(1)> for filtering mail,
but may be disabled via
L<public-inbox-config(5)/publicinboxmda.spamcheck>

=head1 OPTIONS

=over 8

=item --no-precheck

By default, public-inbox-mda does some simple checks before
invoking L<spamc(1)> since it is intended to receive mail before
it goes to a mailing list.

However, some users prefer to use public-inbox-mda to mirror
mailing lists.  This option exists to support those users.

Using this option, the following prechecks are disabled:

  * multiple Message-IDs
  * non-existent Message-IDs
  * Message-IDs longer than 244 characters long
  * From: header shorter than 3 characters
  * Subject: header shorter than 2 characters
  * unusable Date: headers
  * inbox address specified in To: or Cc: header

=back

=head1 ENVIRONMENT

=over 8

=item ORIGINAL_RECIPIENT

The original recipient email address, set by the MTA.  Postfix
sets it by default, untested on other MTAs.

This does not have to be set if relying on C<publicinbox.$NAME.listid>
directives configured in L<public-inbox-config(5)>.

=item PI_CONFIG

Per-user config file parseable by L<git-config(1)>.
See L<public-inbox-config(5)>.

Default: ~/.public-inbox/config

=item PI_EMERGENCY

emergency Maildir destination.

Default: ~/.public-inbox/emergency/

=back

=head1 CONFIGURATION

Various configuration knobs should be used in the
L<public-inbox-config(5)> file.

=over 8

=item publicinboxImport.dropUniqueUnsubscribe

=item publicinbox.<name>.address

=item publicinbox.<name>.listid

See L<public-inbox-config(5)> for descriptions of these options

=back

=head1 CONTACT

Feedback welcome via plain-text mail to L<mailto:meta@public-inbox.org>

The mail archives are hosted at L<https://public-inbox.org/meta/> and
L<http://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/meta/>

=head1 COPYRIGHT

Copyright all contributors L<mailto:meta@public-inbox.org>

License: AGPL-3.0+ L<https://www.gnu.org/licenses/agpl-3.0.txt>

=head1 SEE ALSO

L<git(1)>, L<git-config(1)>, L<public-inbox-v1-format(5)>
