1
by
This commit was manufactured by cvs2svn to create branch |
1 |
dnl |
2 |
dnl *** EXAMPLE *** sendmail.mc file for a Mailman list server using |
|
3 |
dnl mm-handler to deal with list operations (in place of aliases). |
|
4 |
dnl This is what I actually use on my site. |
|
5 |
dnl |
|
6 |
dnl $Id: mailman.mc 4287 2001-10-27 02:30:51Z bwarsaw $ |
|
7 |
dnl |
|
8 |
||
9 |
||
10 |
dnl |
|
11 |
dnl First you need to define your general characteristics. You |
|
12 |
dnl should know what these settings should be at your site -- I |
|
13 |
dnl only know what they should be at mine. |
|
14 |
dnl |
|
15 |
OSTYPE(solaris2)dnl |
|
16 |
DOMAIN(generic)dnl |
|
17 |
||
18 |
dnl |
|
19 |
dnl You can keep the old alias files for back-compatibility, but it's |
|
20 |
dnl probably better not to as this can become a point of confusion |
|
21 |
dnl later. |
|
22 |
dnl |
|
23 |
define(`ALIAS_FILE', `/etc/mail/aliases,/etc/mail/lists') |
|
24 |
||
25 |
dnl |
|
26 |
dnl I use procmail for local delivery, because it's smart to have a |
|
27 |
dnl local delivery mailer, even if you don't (ordinarily) do any local |
|
28 |
dnl delivery. The Solaris local delivery mailer is part of its sendmail |
|
29 |
dnl package. I pkgrmed the sendmail packages so that system upgrades |
|
30 |
dnl don't kill my sendmail.com sendmail, so mail.local is unavailable, |
|
31 |
dnl so I throw procmail in here even though it never gets used. |
|
32 |
dnl |
|
33 |
define(`PROCMAIL_MAILER_PATH', `/opt/bin/procmail') |
|
34 |
FEATURE(`local_procmail') |
|
35 |
MAILER(`local') |
|
36 |
||
37 |
dnl |
|
38 |
dnl Miscellaneous tuning. Not relevant to Mailman. |
|
39 |
dnl |
|
40 |
define(`confCONNECTION_RATE_THROTTLE', 5) |
|
41 |
define(`confMAX_MESSAGE_SIZE', `5000000') |
|
42 |
define(`confNO_RCPT_ACTION', `add-to-undisclosed') |
|
43 |
define(`confME_TOO', `True') |
|
44 |
define(`confDOUBLE_BOUNCE_ADDRESS', `mailer-daemon') |
|
45 |
||
46 |
dnl |
|
47 |
dnl Privacy options. Also not relevant. |
|
48 |
dnl |
|
49 |
define(`confPRIVACY_FLAGS', `authwarnings,needvrfyhelo,noexpn,noreceipts,restrictmailq') |
|
50 |
||
51 |
||
52 |
dnl |
|
53 |
dnl Mm-handler works by mailertabling all addresses on your list |
|
54 |
dnl server hostname(s) through the mm-handler mailer. Mailertable |
|
55 |
dnl maps mail domains to mailer types. I want a mailertable to map |
|
56 |
dnl listtest.uchicago.edu to the mm-handler mailer, but we need to |
|
57 |
dnl specifically request this functionality in the .mc file. |
|
58 |
dnl |
|
59 |
FEATURE(`mailertable', `hash -o /etc/mail/mailertable') |
|
60 |
||
61 |
dnl |
|
62 |
dnl This leads to an immediate and important side-effect: "local" |
|
63 |
dnl addresses, and notably RFC-specified addresses such as postmaster, |
|
64 |
dnl are assumed by sendmail to be lists! Since aliases are not processed |
|
65 |
dnl for domaintabled domains, we must use a virtusertable to reroute |
|
66 |
dnl such addresses. |
|
67 |
dnl |
|
68 |
FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable') |
|
69 |
||
70 |
dnl |
|
71 |
dnl By default, sendmail applies virtusertable mapping, if at all, for |
|
72 |
dnl all interfaces for which it accepts mail -- i.e., all domains in |
|
73 |
dnl $=w. Mm-handler relies on your having a single domain (hostname) |
|
74 |
dnl that serves only lists, with no users. To avoid potential namespace |
|
75 |
dnl conflicts, you need not to have this list domain included in $=w. |
|
76 |
dnl As a result, virtuser mapping does not apply for the Mailman |
|
77 |
dnl list domain. However, you can pre-empt this rule by defining |
|
78 |
dnl $={VirtHost}: if there are domains in this class, they will be |
|
79 |
dnl mapped before $=w is mapped. |
|
80 |
dnl |
|
81 |
dnl VIRTUSER_DOMAIN() defines this class. |
|
82 |
dnl |
|
83 |
VIRTUSER_DOMAIN(`nospam.uchicago.edu listtest.uchicago.edu listhost.uchicago.edu') |
|
84 |
||
85 |
dnl |
|
86 |
dnl On a related point: by default, Sendmail probes for open IP |
|
87 |
dnl interfaces, and adds their hostnames to $=w. Although Sendmail does |
|
88 |
dnl virtusertable mapping for members of $=w, it doesn't do mailertable |
|
89 |
dnl mapping for them, because they're considered "local". This tells |
|
90 |
dnl Sendmail not to probe interfaces for local hosts, and it's critical |
|
91 |
dnl if your Mailman domain is actually an IP address (with an A record, |
|
92 |
dnl not just CNAME or MX) on your server. |
|
93 |
dnl |
|
94 |
define(`confDONT_PROBE_INTERFACES', `True') |
|
95 |
||
96 |
||
97 |
dnl |
|
98 |
dnl Even though my actual hostname is foobar, tell the world that I'm |
|
99 |
dnl listtest.uchicago.edu. |
|
100 |
dnl |
|
101 |
FEATURE(`limited_masquerade') |
|
102 |
MASQUERADE_AS(`listtest.uchicago.edu') |
|
103 |
||
104 |
||
105 |
dnl |
|
106 |
dnl Access control is a useful feature for blocking abusers and relays |
|
107 |
dnl and such. |
|
108 |
dnl |
|
109 |
FEATURE(`access_db') |
|
110 |
||
111 |
||
112 |
dnl |
|
113 |
dnl This allows you to block access for individual recipents through |
|
114 |
dnl the same access database as is used for blocking sender hosts and |
|
115 |
dnl addresses. |
|
116 |
dnl |
|
117 |
FEATURE(`blacklist_recipients') |
|
118 |
||
119 |
||
120 |
dnl |
|
121 |
dnl Other local mailers... |
|
122 |
dnl |
|
123 |
MAILER(`smtp') |
|
124 |
MAILER(`procmail') |
|
125 |
||
126 |
||
127 |
dnl |
|
128 |
dnl Our Mailman-specific local mailer. |
|
129 |
dnl |
|
130 |
MAILER_DEFINITIONS |
|
131 |
####################################
|
|
132 |
### New Mailer specifications ###
|
|
133 |
####################################
|
|
134 |
||
135 |
## Special flags! See
|
|
136 |
## http://www.sendmail.org/~ca/email/doc8.10/op-sh-5.html#sh-5.4
|
|
137 |
## Note especially the absence of the "m" and "n" flags. THIS IS
|
|
138 |
## IMPORTANT: mm-handler assumes this behavior to avoid having to know
|
|
139 |
## too much about address parsing and other RFC-2822 mail details.
|
|
140 |
||
141 |
Mmailman, P=/etc/mail/mm-handler, F=rDFMhlqSu, U=mailman:other, |
|
142 |
S=EnvFromL, R=EnvToL/HdrToL, |
|
143 |
A=mm-handler $h $u |