This documentation is for Dovecot v1.x, see wiki2 for v2.x documentation.
Differences between revisions 3 and 4
Revision 3 as of 2009-10-20 04:28:23
Size: 1789
Editor: ppp91-77-134-103
Comment:
Revision 4 as of 2009-10-28 03:09:27
Size: 1767
Editor: TimoSirainen
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;

None: LDA/ZMailer (last edited 2009-12-23 06:06:30 by ppp91-78-85-68)