Size: 1789
Comment:
|
Size: 1767
Comment: changed formatting to be more like elsewhere in this wiki
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
1. Add to '''''zmailer/sm.conf''''': | 1. Add to {{{zmailer/sm.conf}}}: |
Line 9: | Line 9: |
2. Change '''''zmailer/scheduler.conf''''' like this: | 2. Change {{{zmailer/scheduler.conf}}} like this: |
Line 11: | Line 11: |
Go '''''local/file*''''' and '''''local/pipe*''''' thru "mailbox" delivery agent: | Go '''local/file*''' and '''local/pipe*''' thru "mailbox" delivery agent: |
Line 20: | Line 20: |
and after that go all other '''''local/*''''' thru dovecot LDA: | and after that go all other '''local/*''' thru dovecot LDA: |
Line 33: | Line 33: |
scheduler.conf file; those are for cases which must not run thru | {{{scheduler.conf}}} file; those are for cases which must not run thru |
Line 39: | Line 39: |
Fix Zmailer: in '''''zmailer/transports/libta/diagnostic.c''''': | Fix Zmailer: in {{{zmailer/transports/libta/diagnostic.c}}}: |
Line 54: | Line 54: |
Or fix Dovecot: in '''''dovecot-1.2.6/src/deliver/deliver.c''''': | Or fix Dovecot: in {{{dovecot-1.2.6/src/deliver/deliver.c}}}: |
Dovecot LDA as local delivery agent for ZMailer
1. Add to zmailer/sm.conf:
# dovecot LDA dovecot SPfne /usr/local/libexec/dovecot/deliver deliver -e -n -d $u
2. Change zmailer/scheduler.conf like this:
Go local/file* and local/pipe* thru "mailbox" delivery agent:
local/file* local/pipe* ... # zmailer local delivery transport agent command="mailbox -8HS -l ${LOGDIR}/mailbox"
and after that go all other local/* thru dovecot LDA:
local/* ... # DOVECOT as the local delivery agent: command="sm -8Hc $channel dovecot"
Then all deliveries to local users will go thru dovecot LDA, AND if users want to run pipes / store to files thru their .forward files, they can do that too. (That is why there are tag-matchers for "local/file*" and "local/pipe*" before "local/*" in that scheduler.conf file; those are for cases which must not run thru dovecot LDA.)
But little problem now: if you will start use "-e" deliver param, Zmailer start complain on reject case: "(this is abnormal, investigate!)".
Fix Zmailer: in zmailer/transports/libta/diagnostic.c:
- case EX_NOPERM: case EX_PROTOCOL: case EX_USAGE: strcat(message, " (this is abnormal, investigate!)"); s += strlen(s); /* fall through */ + case EX_NOPERM: case EX_NOUSER: case EX_NOHOST: case EX_UNAVAILABLE:
Or fix Dovecot: in dovecot-1.2.6/src/deliver/deliver.c:
if (stderr_rejection) - return EX_NOPERM; + return EX_UNAVAILABLE;