Initial revision
[exim-website.git] / config.samples / C011
1 Date: Thu, 26 Nov 1998 09:39:52 +0000
2 From: David M Walker <davidw@datamgmt.com>
3
4 Thanks to Philip and others I now have my ISP style config built and
5 therefore am posting the final configuration fragments to the list in
6 case anyone else wants to do a similar thing
7
8 ######################################################################
9
10 # This configuration fragment is for use with an ISP type solution
11 # Each client has their own directory that contains their own
12 # editable passwd, alias etc type files. Furthemore if they create
13 # a local user then that user can also have a a .forward file and/or
14 # a .autoreply file.
15 #
16 # Files and Directories
17 # Password file for a domain
18 #       /clients/${domain}/etc/passwd
19 # Alias file for a domain
20 #       /clients/${domain}/etc/aliases
21 # Directory where users mail for a domain is stored
22 #       /clients/${domain}/mail/
23 # Location of file with a list of domains
24 #       /clients/utils/data/domains
25
26 ######################################################################
27 #                      TRANPORTS CONFIGURATION                       #
28 ######################################################################
29
30 # This transport is used for local delivery to user mailboxes.
31
32 virtual_localdelivery:
33   driver = appendfile
34   file = /clients/${domain}/mail/${local_part}
35   user = ${lookup{$local_part}lsearch{/etc/passwd}{$value}{exim}}
36   group = mail
37   mode = 0660
38
39 # This transport is used to handly autoreplys
40
41 auto_transport:
42   driver = autoreply
43   from = $local_part@$domain 
44   to = $sender_address
45   subject = "Reply re: $header_subject:"
46   file =
47 "${extract{5}{:}{${expand:${lookup{$local_part}lsearch{/clients/${domain}/etc/passwd}{$value}}}}}/.autoreply"
48   user = exim
49       
50 # This transport is used for handling pipe addresses generated by alias
51 # or .forward files. 
52
53 address_pipe:
54   driver = pipe
55   return_output
56
57 # This transport is used for handling file addresses generated by alias
58 # or .forward files.
59
60 address_file:
61   driver = appendfile
62
63 # This transport is used for handling file addresses generated by alias
64 # or .forward files if the path ends in "/".
65
66 address_directory:
67   driver = appendfile
68   no_from_hack
69   prefix = ""
70   suffix = ""
71
72 # This transport is used for handling autoreplies generated by the
73 filtering
74 # option of the forwardfile director.
75
76 address_reply:
77   driver = autoreply
78
79 # This transport is used for delivering messages over SMTP connections.
80
81 remote_smtp:
82   driver = smtp
83   command_timeout = 1m,
84   connect_timeout = 10s
85   
86 end
87
88 ######################################################################
89 #                      DIRECTORS CONFIGURATION                       #
90 ######################################################################
91
92 # Handles .autoreply files
93
94 auto_director:
95   driver = smartuser
96   transport = auto_transport
97   require_files =
98 root:${extract{5}{:}{${expand:${lookup{$local_part}lsearch{/clients/${domain}/etc/passwd}{$value}}}}}/.autoreply
99   condition = ${if eq{$sender_address}{}{no}{yes}}
100   unseen
101
102 # Handles any .forward files
103
104 userforward:
105   driver = forwardfile
106   check_local_user = false
107   #file_directory =
108 "${extract{5}{:}{${expand:${lookup{$local_part}lsearch{/clients/${domain}/etc/passwd}{$value}}}}}"
109   #file = .forward
110   file =
111 "${extract{5}{:}{${expand:${lookup{$local_part}lsearch{/clients/${domain}/etc/passwd}{$value}}}}}/.forward"
112   user = root
113   no_verify
114   check_ancestor
115   filter
116
117 # This director matches local user mailboxes.
118
119 virtual_localuser:
120    driver = aliasfile
121    transport = virtual_localdelivery
122    domains = lsearch;/clients/utils/data/domains
123    file = /clients/${domain}/etc/passwd
124    search_type = lsearch
125
126 # This director matches anything in the aliases
127
128 virtual_alias:
129    driver = aliasfile
130    domains = lsearch;/clients/utils/data/domains
131    file = /clients/${domain}/etc/aliases
132    search_type = lsearch*
133    qualify_preserve_domain 
134
135 end