Commit | Line | Data |
---|---|---|
afda344b PH |
1 | # Exim test configuration 0014 |
2 | ||
3 | exim_path = EXIM_PATH | |
4 | host_lookup_order = bydns | |
5 | primary_hostname = myhost.test.ex | |
6 | rfc1413_query_timeout = 0s | |
7 | spool_directory = DIR/spool | |
8 | log_file_path = DIR/spool/log/%slog | |
9 | gecos_pattern = "" | |
10 | gecos_name = CALLER_NAME | |
11 | ||
12 | # ----- Main settings ----- | |
13 | ||
14 | domainlist local_domains = test.ex : myhost.test.ex | |
15 | domainlist relay_domains = test.ex | |
16 | ||
17 | acl_smtp_rcpt = check_recipient | |
18 | ||
19 | trusted_users = CALLER | |
20 | ||
21 | ||
22 | # ----- ACL ----- | |
23 | ||
24 | begin acl | |
25 | ||
26 | check_recipient: | |
27 | accept hosts = : | |
28 | require verify = sender | |
29 | accept domains = +local_domains | |
30 | accept domains = +relay_domains | |
31 | deny message = relay not permitted | |
32 | ||
33 | ||
34 | # ----- Rewrite ----- | |
35 | ||
36 | begin rewrite | |
37 | ||
38 | *@*.one.two $1@one.two | |
39 | abcd@^qu aaa@bbb | |
40 | *pqr@^qu(.*) 1=$1@zz$2 | |
41 | hhhh@h.h.h.h "${if eq {$h_to:}{x@y}{yes}{no}}@j.j.j" | |
42 | ||
43 | ######################################################## | |
44 | # Fancy example of a supposed outgoing gateway rewrite # | |
45 | ######################################################## | |
46 | ||
47 | # No rewrite unless domain is *.plc.example | |
48 | ||
49 | ^(?>.*)(?<!\.plc\.example) * | |
50 | ||
51 | # Handle root specially except envelope to | |
52 | ||
53 | root@*.plc.example "admin@plc.example (root@$1)" whFq | |
54 | ||
55 | # Failure in envelope sender is bad - should fail to verify | |
56 | ||
57 | *@*.plc.example ${lookup{$local_part@$2}lsearch\ | |
58 | {DIR/aux-fixed/0014.usernames}\ | |
59 | {$value}{"$1@$2.plc.example-is-not-known"}}@plc.example Fq | |
60 | ||
61 | # Use envelope for failing header sender | |
62 | ||
63 | *@*.plc.example "${lookup{$local_part@$2}lsearch\ | |
64 | {DIR/aux-fixed/0014.usernames}{$value@plc.example}\ | |
65 | {$sender_address}}" fsrq | |
66 | ||
67 | # Other failures => `unknown' | |
68 | *@*.plc.example "${lookup{$local_part@$2}lsearch\ | |
69 | {DIR/aux-fixed/0014.usernames}{$value}{unknown}}@plc.example" | |
70 | ||
71 | ||
72 | # ----- Routers ----- | |
73 | ||
74 | begin routers | |
75 | ||
76 | fail: | |
77 | driver = manualroute | |
78 | domains = *.plc.example | |
79 | fail_verify | |
80 | route_list = * | |
81 | verify_only | |
82 | ||
83 | fail_remote_domains: | |
84 | driver = redirect | |
85 | domains = ! +local_domains | |
86 | allow_fail | |
87 | data = :fail: Unrouteable mail domain "$domain" | |
88 | ||
89 | userx: | |
90 | driver = accept | |
91 | local_parts = userx | |
92 | retry_use_local_part | |
93 | transport = appendfile | |
94 | ||
95 | ||
96 | # ----- Transports ----- | |
97 | ||
98 | begin transports | |
99 | ||
100 | appendfile: | |
101 | driver = appendfile | |
102 | file = DIR/test-mail/$local_part | |
103 | message_suffix = | |
104 | user = CALLER | |
105 | ||
106 | # End |