bc21d00bce6e5282a10c2cc4a911227c0ca32c10
[mirror/userdir-ldap-cgi.git] / html / forward.wml
1 #use wml::db.d.o title="Email Forwarding"
2 #use wml::vbar
3
4 <dsatoc/>
5
6 <p>
7 Emails to @debian.org addresses go through an LDAP distributed email system. 
8 This system uses the forwarding field in the LDAP directory to route mail 
9 without passing it through a user's .forward file on a single host.
10 Multiple machines participate in the forwarding to provide redundancy.
11
12 <p>
13 Each forwarder inspects the LDAP database
14 to determine the forwarding address for foo@debian.org. The <i>envelope
15 to address</i> is rewritten and the message redirected to the new address.
16 As that redirection occurs on the mail relays, there is no opportunity for
17 the use of .forward files, procmail or other filtering. Extension addresses
18 (foo-lists) are supported, but the extension will not be preserved when
19 forwarding - i.e. if <tt>foo@debian.org</tt> redirects to <tt>foo@example.com</tt>,
20 then <tt>foo-lists@debian.org</tt> also redirects to <tt>foo@example.com</tt>.
21
22 <p>
23 As a special-case, the forwarding address may be foo@master.debian.org,
24 in which case the message is relayed to that system for processing by the
25 user's .forward or .procmailrc files. Forwarding to master.debian.org uses
26 the extension part of the original address.
27
28 <p>
29 All machines also use the forwarding attribute as a default destination for
30 email. If the user has a home directory and no .forward file the mail is
31 forwarded rather than delivered to /var/spool/mail. This makes sure cron
32 reports, bug responses and other unexpected emails are not misplaced.
33
34 <p>
35 If you set the forwarding address to be a specific Debian machine and do 
36 not create a forward file then that machine will spool the mail to 
37 /var/spool/mail instead of creating a mail loop.
38
39 <p>
40 The email forwarding can be easily reconfigured using GnuPG:
41 <pre>
42 echo "emailforward: foo@bar.com" | gpg --clearsign | mail changes@db.debian.org
43 </pre>
44 or by visiting <a href="https://db.debian.org/login.html">db.debian.org</a>
45
46 <p>
47 You can test the email routing by using the command <tt>/usr/sbin/exim -bt
48 foo@debian.org</tt>
49
50 <h2>procmail</h2>
51 If you use procmail for your main mailbox, PLEASE, erase your .forward
52 file and put a .procmailrc in its place instead.
53 .procmailrc files will not be synchronised to all hosts in
54 the LDAP directory, so you will need to make sure the file exists on any
55 relevant hosts yourself.
56
57 <p>
58 The correct way to invoke procmail for extension addresses is "|/usr/bin/procmail [options]"
59 Ignore the IFS=".." stuff in the procmail man page.
60
61 <h2>MailBox formats</h2>
62 Email can be saved to mailboxes or maildirs by using the correct lines in a
63 .forward file:
64 <p>
65 Mailbox format files "/debian/home/foo/Mbox"
66 <br>Maildir format files "/debian/home/foo/MDir/"
67
68 <p>
69 To deliver to /var/spool/mail/foo use a construct like '|/usr/bin/procmail
70 -m /dev/null'. Putting the mailbox path will not work. You must use
71 absolute paths for mailboxes, qmail-like ./ paths are not supported by
72 Exim.
73
74 <p>
75 Also, 'Exim Filter' files are deliberately turned off.
76
77 <h2>Spam handling</h2>
78 <p>
79 Debian developers have a wide variety of loud and conflicting opinions
80 about what constitutes correct handling of their mail, making it impossible for
81 an admin to choose a single setup that fits all use cases.
82 </p>
83
84 <p>
85 Instead, we invite you to configure your own spam handling.
86 </p>
87
88 <p>
89 Some options available to you are:
90 </p>
91 <ul>
92   <li><b>bATVToken</b> (to be enabled before 1/1/2010, with any luck) BATV
93   private token for address rewriting.  Useful in combatting bounce forgery, but
94   requires configuration on your own mail relay(s).
95   <li><b>emailForward</b> Address to forward your mail to.  Setting this and
96   then rejecting mail from d.o machines is less than helpful.
97   <li><b>mailCallout</b> Whether or not to use Sender Address Verification.
98   <li><b>mailContentInspectionAction</b> One of reject, markup, or blackhole.
99   Applies to checks done on the content of message bodies, such as spam and
100   virus checks.  Reject is default, and will reject the mail if a match occurs.
101   Markup will add a header and then forward the mail to you anyway.  Blackhole
102   will accept the mail and silently discard it.
103   <li><b>mailDefaultOptions</b> Whether to enable the 'normal' set of
104   SMTP time checks that DSA decide are appropriate.  Currently includes greylisting
105   and some RBLs.  Defaults to true.
106   <li><b>mailGreylisting</b> Whether to enable greylisting.
107   <li><b>mailRBL</b> Set of RBLs to use.
108   <li><b>mailRHSBL</b> Set of RHSBLs to use.
109   <li><b>mailWhitelist</b> Sender envelopes to whitelist.
110   <li><b>mailDisableMessage</b> Absolute last resort measure - will disable
111   incoming mail from all machines not part of the Debian host list (see
112   /var/lib/misc/thishost/debianhosts on any d.o machine).  This makes it very
113   difficult for things like automated pings and mass mailings to all concerned
114   DDs about changes to happen, and is strongly discouraged.
115 </ul>