Giam Teck Choon
2010-11-10 01:20:58 UTC
Hi,
This is just to share with the list members that upon couple hours of
researching, I have successfully run mailfront v1.17 imapfront-auth with
dovecot v1.2.16 which doesn't require dovecot service to be running.
I know http://mij.oltrelinux.com/net/dovecot-qmail-vmailmgr/ and that
requires dovecot service running and I can't use with imapfront-auth. I
prefer to use mailfront + cvm (pop3d/pop3sd with pop3front-auth and
imapd/imapsd with imapfront-auth) so that all related mail services are
running under daemontools + ucspi-tcp.
Below is the wrapper /usr/bin/mailfront-imapfront-auth-dovecot or name
whatever you like and chmod +x /usr/bin/mailfront-imapfront-auth-dovecot:
--------------------8<----------8<----------8<----------8<---------------------
#!/bin/sh
if [ -n "$MAIL" ] ; then
export MAIL=maildir:`echo $MAIL | sed 's@:@::@g'`
fi
exec "$@"
--------------------8<----------8<----------8<----------8<---------------------
Below is example imapd/run file which works for courier-imap and dovecot:
--------------------8<----------8<----------8<----------8<---------------------
#!/bin/sh
DOVECOTWRAPPER=""
# Default to support dovecot 1.0.x
if [ -x "/usr/libexec/dovecot/imap" ] ; then
IMAPD=/usr/libexec/dovecot/imap
if [ -x "/usr/bin/mailfront-imapfront-auth-dovecot" ] ; then
DOVECOTWRAPPER=/usr/bin/mailfront-imapfront-auth-dovecot
elif [ -x "/usr/local/bin/mailfront-imapfront-auth-dovecot" ] ; then
DOVECOTWRAPPER=/usr/local/bin/mailfront-imapfront-auth-dovecot
fi
elif [ -x "/usr/local/bin/imapd" ] ; then
IMAPD=/usr/local/bin/imapd
elif [ -x "/usr/lib/courier-imap/bin/imapd" ] ; then
IMAPD=/usr/lib/courier-imap/bin/imapd
else
IMAPD=/usr/bin/imapd
fi
if [ -x "/usr/bin/imapfront-auth" ] ; then
IMAPFRONT_AUTH=/usr/bin/imapfront-auth
else
IMAPFRONT_AUTH=/usr/local/bin/imapfront-auth
fi
ulimitdata=500000000
concurrency=40
CVM_SASL_PLAIN=cvm-local:/tmp/.cvm-vmailmgr
CVM_SASL_LOGIN=cvm-local:/tmp/.cvm-vmailmgr
export CVM_SASL_PLAIN
export CVM_SASL_LOGIN
exec \
softlimit -m $ulimitdata \
tcpserver -DHRUvX -c "$concurrency" -l "`head -n 1 /var/qmail/control/me`" \
-x /etc/tcpcontrol/imap.cdb 0 imap \
$IMAPFRONT_AUTH $DOVECOTWRAPPER \
$IMAPD 2>&1
--------------------8<----------8<----------8<----------8<---------------------
C wrapper source can be found at:
http://choon.net/mailfront-imapfront-auth-dovecot.php
Many thanks to MIJ at http://mij.oltrelinux.com as I copied one of his
source code function. Sorry, I am not good in C at all and only code in
C occasionally.
Hope the above information is useful to someone ;)
Thanks.
Kindest regards,
Giam Teck Choon
This is just to share with the list members that upon couple hours of
researching, I have successfully run mailfront v1.17 imapfront-auth with
dovecot v1.2.16 which doesn't require dovecot service to be running.
I know http://mij.oltrelinux.com/net/dovecot-qmail-vmailmgr/ and that
requires dovecot service running and I can't use with imapfront-auth. I
prefer to use mailfront + cvm (pop3d/pop3sd with pop3front-auth and
imapd/imapsd with imapfront-auth) so that all related mail services are
running under daemontools + ucspi-tcp.
Below is the wrapper /usr/bin/mailfront-imapfront-auth-dovecot or name
whatever you like and chmod +x /usr/bin/mailfront-imapfront-auth-dovecot:
--------------------8<----------8<----------8<----------8<---------------------
#!/bin/sh
if [ -n "$MAIL" ] ; then
export MAIL=maildir:`echo $MAIL | sed 's@:@::@g'`
fi
exec "$@"
--------------------8<----------8<----------8<----------8<---------------------
Below is example imapd/run file which works for courier-imap and dovecot:
--------------------8<----------8<----------8<----------8<---------------------
#!/bin/sh
DOVECOTWRAPPER=""
# Default to support dovecot 1.0.x
if [ -x "/usr/libexec/dovecot/imap" ] ; then
IMAPD=/usr/libexec/dovecot/imap
if [ -x "/usr/bin/mailfront-imapfront-auth-dovecot" ] ; then
DOVECOTWRAPPER=/usr/bin/mailfront-imapfront-auth-dovecot
elif [ -x "/usr/local/bin/mailfront-imapfront-auth-dovecot" ] ; then
DOVECOTWRAPPER=/usr/local/bin/mailfront-imapfront-auth-dovecot
fi
elif [ -x "/usr/local/bin/imapd" ] ; then
IMAPD=/usr/local/bin/imapd
elif [ -x "/usr/lib/courier-imap/bin/imapd" ] ; then
IMAPD=/usr/lib/courier-imap/bin/imapd
else
IMAPD=/usr/bin/imapd
fi
if [ -x "/usr/bin/imapfront-auth" ] ; then
IMAPFRONT_AUTH=/usr/bin/imapfront-auth
else
IMAPFRONT_AUTH=/usr/local/bin/imapfront-auth
fi
ulimitdata=500000000
concurrency=40
CVM_SASL_PLAIN=cvm-local:/tmp/.cvm-vmailmgr
CVM_SASL_LOGIN=cvm-local:/tmp/.cvm-vmailmgr
export CVM_SASL_PLAIN
export CVM_SASL_LOGIN
exec \
softlimit -m $ulimitdata \
tcpserver -DHRUvX -c "$concurrency" -l "`head -n 1 /var/qmail/control/me`" \
-x /etc/tcpcontrol/imap.cdb 0 imap \
$IMAPFRONT_AUTH $DOVECOTWRAPPER \
$IMAPD 2>&1
--------------------8<----------8<----------8<----------8<---------------------
C wrapper source can be found at:
http://choon.net/mailfront-imapfront-auth-dovecot.php
Many thanks to MIJ at http://mij.oltrelinux.com as I copied one of his
source code function. Sorry, I am not good in C at all and only code in
C occasionally.
Hope the above information is useful to someone ;)
Thanks.
Kindest regards,
Giam Teck Choon