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