update
[exim-website.git] / config.samples / C018
1 Date: Tue, 10 Apr 2001 16:01:16 -0700
2 From: Thomas Robinson <roo@marsh.cts.com>
3
4 This configuration removes a lot of the aliases, and automates a
5 lot of the other functions based on whether the files /
6 directories exist. 
7
8 The number 73 in the listresend director must be modified to match 
9 the UID of Majordomo on the host system.
10
11 Only three aliases per list are needed:
12
13 <list>-approval
14 <list>-owner
15 owner-<list>
16
17 # Lots of stuff snipped . . .
18
19 trusted_users = mail:majordomo
20
21 end
22
23
24
25 ######################################################################
26 #                      TRANPORTS CONFIGURATION                       #
27 ######################################################################
28
29 # More stuff snipped . . .
30
31 # This transport is used for processing *-request addresses
32 # through Majordomo
33 majordomo:
34   driver = pipe
35   user = majordomo
36   command = "/usr/local/mail/majordomo/wrapper majordomo \
37     -C /usr/local/mail/${domain}/majordomo.cf \
38     -l ${local_part}"
39   return_fail_output = true
40
41
42 # This transport is used for processing messages through the
43 # majordomo resend mechanism
44 resend:
45   driver = pipe
46   user = majordomo
47   command = "/usr/local/mail/majordomo/wrapper resend \
48     -C /usr/local/mail/${domain}/majordomo.cf \
49     -l ${local_part} ${local_part}\@${domain}"
50   return_fail_output = true
51
52
53 # This transport handles creation of digests for majordomo.
54 digestify:
55   driver = pipe
56   user = majordomo
57   command = "/usr/local/mail/majordomo/wrapper digest \
58     -c /usr/local/mail/${domain}/majordomo.cf \
59     -r -C -l ${local_part}-digest ${local_part}-digest\@${domain}"
60   return_fail_output = true
61
62
63 # This transport handles the archive function
64 archivate:
65   driver = pipe
66   user = majordomo
67   command = "/usr/local/mail/majordomo/wrapper archive2.pl \
68     -C /usr/local/mail/${domain}/majordomo.cf \
69     -f /usr/local/mail/${domain}/lists/${local_part}.archive/${local_part} \
70     -M -a"
71   return_fail_output = true
72
73 end
74
75
76
77 ######################################################################
78 #                      DIRECTORS CONFIGURATION                       #
79 #             Specifies how local addresses are handled              #
80 ######################################################################
81 #                          ORDER DOES MATTER                         #
82 #   A local address is passed to each in turn until it is accepted.  #
83 ######################################################################
84
85 # Local addresses are those with a domain that matches some item
86 # in the "local_domains" setting above, or those which are passed
87 # back from the routers because of a "self=local" setting (not
88 # used in this configuration).
89
90
91 # This director handles list processing of *-request addresses.
92 # Note that if there is no file, the message will NOT get passed
93 # to majordomo.
94
95 listrequest:
96   driver = smartuser
97   suffix = -request
98   require_files = +/usr/local/mail/${domain}/lists/${local_part}.config
99   transport = majordomo
100
101
102 # This director handles list processing when sending through the
103 # majordomo RESEND mechanism.  If there is no file, the message
104 # will NOT get passed to majordomo.
105
106 listresend:
107   driver = smartuser
108   suffix = -digest
109   suffix_optional = true
110   condition = ${if eq {${originator_uid}}{73} {no}{yes}}
111   require_files = +/usr/local/mail/${domain}/lists/${local_part}${local_part_suffix}.config
112   transport = resend
113
114
115 # This director handles processing of the archive files for a
116 # list.
117
118 archives:
119   driver = smartuser
120   suffix = -digest
121   suffix_optional = true
122   require_files = +/usr/local/mail/${domain}/lists/${local_part}.archive:!+/usr/local/mail/${domain}/lists/${local_part}-digest.config
123   transport = archivate
124   unseen = true
125
126
127 # This director handles the list-digest processing.
128
129 digests:
130   driver = smartuser
131   require_files = +/usr/local/mail/${domain}/lists/${local_part}-digest.config
132   transport = digestify
133   unseen = true
134
135
136 # This director handles list processing.
137
138 listout:
139   driver = forwardfile
140   require_files = +/usr/local/mail/${domain}/lists/${local_part}.config
141   file = /usr/local/mail/${domain}/lists/${local_part}
142   modemask = 2
143   user = majordomo
144   no_check_local_user
145   forbid_pipe
146   forbid_file
147   one_time
148   skip_syntax_errors
149
150
151 # This director handles aliasing using a traditional /etc/aliases
152 # file.  If any of your aliases expand to pipes or files, you
153 # will need to set up a user and a group for these deliveries to
154 # run under. You can do this by uncommenting the "user" option
155 # below (changing the user name as appropriate) and adding a
156 # "group" option if necessary.
157
158 system_aliases:
159   driver = aliasfile
160   file = /etc/mail/aliases/${domain}
161   search_type = lsearch
162   user = mail
163   pipe_transport = address_pipe
164
165
166 # The rest of the file goes here . . .
167