Emails to @debian.org addresses go through an LDAP distributed email system. This system uses the forwarding field in the LDAP directory to route mail without passing it through a user's .forward file on a single host. Multiple machines participate in the forwarding to provide redundancy.
Each forwarder inspects the LDAP database to determine the forwarding address for email@example.com. The envelope to address is rewritten and the message redirected to the new address. As that redirection occurs on the mail relays, there is no opportunity for the use of .forward files, procmail or other filtering. Extension addresses (foo-lists) are supported, but the extension will not be preserved when forwarding - i.e. if firstname.lastname@example.org redirects to email@example.com, then firstname.lastname@example.org also redirects to email@example.com.
As a special-case, the forwarding address may be firstname.lastname@example.org, in which case the message is relayed to that system for processing by the user's .forward or .procmailrc files. Forwarding to master.debian.org preserves the extension part of the original address.
All machines also use the forwarding attribute as a default destination for email. If the user has a home directory and no .forward file the mail is forwarded rather than delivered to /var/spool/mail. This makes sure cron reports, bug responses and other unexpected emails are not misplaced.
If you set the forwarding address to be a specific Debian machine and do not create a forward file then that machine will spool the mail to /var/spool/mail instead of creating a mail loop.
The email forwarding can be easily reconfigured using GnuPG:
echo "emailforward: email@example.com" | gpg --clearsign | mail firstname.lastname@example.org by visiting db.debian.org
You can test the email routing by using the command /usr/sbin/exim -bt email@example.com
procmailIf you use procmail for your main mailbox, PLEASE, erase your .forward file and put a .procmailrc in its place instead. .procmailrc files will not be synchronised to all hosts in the LDAP directory, so you will need to make sure the file exists on any relevant hosts yourself.
The correct way to invoke procmail for extension addresses is "|/usr/bin/procmail [options]" Ignore the IFS=".." stuff in the procmail man page.
Mailbox formatsEmail can be saved to mailboxes or maildirs by using appropriately formatted lines in a .forward file:
Mailbox format files "/home/foo/Mbox"
Maildir format files "/home/foo/MailDir/"
To deliver to /var/spool/mail/foo use a construct like '|/usr/bin/procmail -m /dev/null'. Putting the mailbox path will not work. You must use absolute paths for mailboxes, qmail-like ./ paths are not supported by Exim.
Also, 'Exim Filter' files are deliberately turned off.
Debian developers have a wide variety of loud and conflicting opinions about what constitutes correct handling of their mail, making it impossible for an admin to choose a single setup that fits all use cases.
Instead, we invite you to configure your own spam handling.
Some options available to you are:
- emailForward Address to forward your mail to. Setting this and then rejecting mail from d.o machines is less than helpful.
- mailCallout Whether or not to use Sender Address Verification.
- mailContentInspectionAction One of reject, markup, or blackhole. Applies to checks done on the content of message bodies, such as spam and virus checks. Reject is default, and will reject the mail if a match occurs. Markup will add a header and then forward the mail to you anyway. Blackhole will accept the mail and silently discard it.
- mailDefaultOptions Whether to enable the 'normal' set of SMTP time checks that DSA decide are appropriate. Currently includes greylisting and some RBLs. Defaults to true.
- mailGreylisting Whether to enable greylisting.
- mailRBL Set of RBLs to use.
- mailRHSBL Set of RHSBLs to use.
- mailWhitelist Sender envelopes to whitelist.
- mailDisableMessage Absolute last resort measure - will disable incoming mail from all machines not part of the Debian host list (see /var/lib/misc/thishost/debianhosts on any d.o machine). This makes it very difficult for things like automated pings and mass mailings to all concerned DDs about changes to happen, and is strongly discouraged.
You can contact us at firstname.lastname@example.org.