maddy

Fork https://github.com/foxcpp/maddy

git clone git://git.lin.moe/go/maddy.git

 1# Local queue
 2
 3Queue module buffers messages on disk and retries delivery multiple times to
 4another target to ensure reliable delivery.
 5
 6It is also responsible for generation of DSN messages
 7in case of delivery failures.
 8
 9## Arguments
10
11First argument specifies directory to use for storage.
12Relative paths are relative to the StateDirectory.
13
14## Configuration directives
15
16```
17target.queue {
18    target remote
19    location ...
20    max_parallelism 16
21    max_tries 4
22	bounce {
23	    destination example.org {
24	        deliver_to &local_mailboxes
25	    }
26	    default_destination {
27	        reject
28	    }
29	}
30
31    autogenerated_msg_domain example.org
32    debug no
33}
34```
35
36### target _block_name_
37**Required.** <br>
38Default: not specified
39
40Delivery target to use for final delivery.
41
42---
43
44### location _directory_
45Default: `StateDirectory/configuration_block_name`
46
47File system directory to use to store queued messages.
48Relative paths are relative to the StateDirectory.
49
50---
51
52### max_parallelism _integer_
53Default: `16`
54
55Start up to _integer_ goroutines for message processing. Basically, this option
56limits amount of messages tried to be delivered concurrently.
57
58---
59
60### max_tries _integer_
61Default: `20`
62
63Attempt delivery up to _integer_ times. Note that no more attempts will be done
64is permanent error occurred during previous attempt.
65
66Delay before the next attempt will be increased exponentially using the
67following formula: 15mins * 1.2 ^ (n - 1) where n is the attempt number.
68This gives you approximately the following sequence of delays:
6918mins, 21mins, 25mins, 31mins, 37mins, 44mins, 53mins, 64mins, ...
70
71---
72
73### bounce { ... }
74Default: not specified
75
76This configuration contains pipeline configuration to be used for generated DSN
77(Delivery Status Notification) messages.
78
79If this is block is not present in configuration, DSNs will not be generated.
80Note, however, this is not what you want most of the time.
81
82---
83
84### autogenerated_msg_domain _domain_
85Default: global directive value
86
87Domain to use in sender address for DSNs. Should be specified too if 'bounce'
88block is specified.
89
90---
91
92### debug _boolean_
93Default: `no`
94
95Enable verbose logging.