incoming mail server: tighar.org
POP3s (TLS): port 110
IMAPs (TLS): port 143
SMTPs server: tighar.org, port 465
qmailctl stop
qmailctl start
qmailctl restart
qmailctl stat
qmailctl {start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help
/var/qmail/bin/qmail-qstat
/var/qmail/bin/qmail-qread
Following commands can delete all mails from your qmail mail server queue.
qmailctl stop
find /var/qmail/queue/mess -type f -exec rm {} \;
find /var/qmail/queue/info -type f -exec rm {} \;
find /var/qmail/queue/local -type f -exec rm {} \;
find /var/qmail/queue/intd -type f -exec rm {} \;
find /var/qmail/queue/todo -type f -exec rm {} \;
find /var/qmail/queue/remote -type f -exec rm {} \;
qmailctl start
The crucial line. I got rid of softlimit, for good or for ill. I also had to remove the fully qualified domain name after …qmail-smtpd. Dunno why that prevented vchkpw from working.
exec \ /usr/local/bin/tcpserver -v -R -l "$LOCAL" -c "$MAXSMTPD" \ -u "$QMAILDUID" -g "$NOFILESGID" 0 465 \ /var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw bin/true 2>&1
All the configuration options (obtained by running ./configure –help).
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors
--enable-non-root-build Build vpopmail as a non-root user, only if you know what you are doing. see README.non-root
--enable-qmaildir=DIR Directory where qmail control and user directories are installed /var/qmail.
--enable-qmail-newu=PATH Full path to qmail-newu program.
--enable-qmail-inject=PATH Full path to qmail-inject program.
--enable-qmail-newmrh=PATH Full path to qmail-newmrh program.
--enable-vpopuser=USER User name allocated to vpopmail vpopmail.
--enable-vpopgroup=GROUP Group name allocated to vpopmail vchkpw.
--enable-roaming-users Enable POP-before-SMTP functionality.
--enable-tcprules-prog=PATH Full path to tcprules program /usr/{local/}bin/tcprules.
--enable-tcpserver-file=PATH File where tcpserver -x relay information is stored /home/vpopmail/etc/tcp.smtp.
--disable-rebuild-tcpserver-file Disable rebuilding of tcpserver relay control file.
--enable-relay-clear-minutes=# Expire time for roaming users after pop authentication [180].
--enable-learn-passwords If no password is stored for a user, learn it the first time they authenticate.
--disable-md5-passwords Use DES crypt() instead of MD5 encryption for passwords.
--disable-file-locking Don't use file locking.
--enable-file-sync Enable file sync after each message is delivered.
--disable-make-seekable Don't try to make input to vdelivermail seekable.
--disable-clear-passwd Don't store a cleartext version of the password in addition to the encrypted version.
--disable-users-big-dir Disable hashing of user directories.
--enable-sqwebmail-pass Store a copy of the user's password in the the user's maildir for use by pre-v3 sqwebmail.
--enable-qmail-ext Enable qmail email address extension support.
--enable-ip-alias-domains Enable mapping of default domain via reverse ip lookup table.
--enable-onchange-script Enable onchange script. See README.onchange for more info.
--enable-spamassassin Enable spamassassin. See README.spamassassin for more info.
--enable-spamc-prog=PATH Full path to spamc program /usr/{local/}bin/spamc.
--enable-maildrop Enable maildrop. See README.maildrop for more info.
--enable-maildrop-prog=PATH Full path to maildrop program /usr/{local/}bin/maildrop.
--enable-domains-dir=TEXT Directory in ~vpopmail to store domains (default=domains).
--enable-incdir=DIR Your MySQL/Oracle 'include' directory.
--enable-libdir=DIR Your MySQL/Oracle 'lib' directory.
--enable-auth-module=MOD Nominate how to store the vpopmail account information (cdb (default), mysql, pgsql, ldap, oracle, or syba se).
--enable-passwd Enable /etc/passwd (or shadow) accounts in addition to virtual domains.
--enable-logging=OPT Log to syslog: n=nothing, e=errors only (default), y=all attempts, p=errors with passwords, v=verbose (all attempts, with passwords).
--enable-log-name=TEXT Set syslog name vpopmail.
--disable-auth-logging Don't record time and ip of last auth attempt. Valid only for CDB, MySQL, PGSQL, LDAP.
--enable-sql-logging Enable authentication logging to MySQL/Postgres.
--enable-mysql-limits Use MySQL to store limits instead of .qmailadmin-limits files.
--enable-mysql-replication Enable support for replicated MySQL auth servers.
--enable-valias Store email aliases in SQL table instead of .qmail files.
--disable-many-domains Creates a table for each virtual domain instead of storing all users in a single table. Only valid for MyS QL and PostgreSQL
cd /usr/local/src/{vpopmail folder}
./configure \
--enable-vpopuser=vpopmail \
--enable-vpopgroup=vchkpw \
--disable-roaming-users \
--enable-tcprules-prog=/usr/local/bin/tcprules \
--enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp \
--enable-logging=p \
--disable-passwd \
--enable-clear-passwd \
--disable-domain-quotas \
--enable-auth-module=mysql \
--enable-auth-logging \
--enable-sql-logging \
--enable-valias \
--disable-mysql-limits \
--enable-libdir=/usr/lib64/mysql
configure options for vpopmail that relate to roaming users :
--enable-tcprules-prog=/usr/local/bin/tcprules
--enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp
--enable-relay-clear-minutes=minutes <- defaults to 180
make
make install-strip
chmod 775 ~vpopmail? That is probably more permissive than originally intended. I don't remember now why I wrote that…
Run John Simpson's vfixpermissions script. Without this fix, trying to login via IMAP or POP results in the error message: “setgid 89 failed”.
http://blog.kurthbemis.com/2008/11/24/vpopmail-netqmail-106-and-smtp-auth-patches/
chown vpopmail:vchkpw ~vpopmail/bin/vchkpw chmod 4711 ~vpopmail/bin/vchkpw chmod u+s ~vpopmail/bin/vchkpw
I used chmod 775 ~vpopmail/etc/vpopmail.mysql. I'm sure it's too loose for best security, but I'm not willing to track down the right setting just now.
http://www.inter7.com/index.php?page=qmailadmindocs
./configure \ --enable-vpopmaildir=/home/vpopmail \ --enable-htmldir=/var/www/html \ --enable-cgibindir=/var/www/cgi-bin \ --enable-imageurl=http://tighar.org/images/qmailadmin \ --enable-imagedir=/var/www/html/images/qmailadmin \ --enable-qmaildir=/var/qmail \ --enable-vpopuser=vpopmail \ --enable-vpopgroup=vchkpw \ --enable-autoresponder-path=/usr/local/bin \ --enable-help
cgi-bin dir = /var/www/cgi-bin
html dir = /var/www/html
image dir = /var/www/html/images/qmailadmin
image URL = http://tighar.org/images/qmailadmin
template dir = /usr/local/share/qmailadmin
qmail dir = /var/qmail
vpopmail dir = /home/vpopmail
autorespond dir = /usr/local/bin
ezmlm dir = /usr/local/bin/ezmlm
ezmlm idx = yes
mysql for ezmlm = yes
help = yes
modify quota = no
domain autofill = no
modify spam check = no
mkdir /var/www/html/images/qmailadmin/help cp -rp * /var/www/html/images/qmailadmin/help note: ./configure option --enable-htmldir=/var/www/html
http://wiki.dovecot.org/CompilingSource
AS NON-ROOT USER (I used joomla):
su joomla ./autogen.sh ./configure \ --with-vpopmail \ --with-mysql \ --with-ssldir=/etc/pki/tls-ssl \ --with-storages=maildir \ --enable-maintainer-mode gmake exit # return to root id gmake install for later updates: hg pull hg update gmake sudo gmake install
http://qmail.jms1.net/dovecot.shtml
useradd -M -d /nohome -s /bin/false -c 'Dovecot user' dovecot
Location of file: /usr/local/etc/dovecot.conf
Some snippets that took me a couple of tries to get organized correctly.
##
## Mailbox locations and namespaces
##
# Location for users' mailboxes.
#
# See <doc/wiki/Variables.txt> for full list.
#
# <doc/wiki/MailLocation.txt>
#
mail_location = maildir:~/Maildir
# System user and group used to access mails. If you use multiple, userdb
# can override these by returning uid or gid fields. You can use either numbers
# or names. <doc/wiki/UserIds.txt>
mail_uid =89
mail_gid =89
##
## Mail processes
##
#
# http://qmail.jms1.net/dovecot.shtml
# http://forum.qmailrocks.org/showthread.php?t=5872
# http://ansani.it/2008/08/14/qmailtoaster-dovecot-imap/
# Enable mail process debugging. This can help you figure out why Dovecot
# isn't finding your mails.
mail_debug = no
verbose_proctitle = yes
first_valid_uid = 89
last_valid_uid = 89
first_valid_gid = 89
last_valid_gid = 89
##
## IMAP specific settings
##
protocol imap {
listen = 173.45.236.139:143
ssl_listen = 173.45.236.139:993
}
##
## POP3 specific settings
##
protocol pop3 {
listen = 173.45.236.139:110
ssl_listen = 173.45.236.139:995
}
##
## Authentication processes
##
auth default {
mechanisms = plain
passdb checkpassword {
args = /home/vpopmail/bin/vchkpw
}
userdb prefetch {
# args = uid=89 gid=89 home=/home/vpopmail/domains/%d/%u
}
count = 1
}
Slight mod needed for cron job to clean up attachments directory. Following the most recent installation script, /var/local/squirrelmail/attach/ is my attachment directory.
Nice instructions for the cron job from Setting up Qmail on Redhat 9. To delete any files that are more than 2 days old from the SquirrelMail attachment dir, run cronjob -e and append the following line:
0 0 * * * find /var/local/squirrelmail/attach/* -atime +2 -exec /bin/rm {} \;
configtest.php returned Error connecting to IMAP server “localhost:143”.Server error: (0).
I switched the setting in config.php to tighar.org on port 993 from localhost on 143. Then it worked very well.
The interesting lines from the configuration:
$domain = 'tighar.org'; $imapServerAddress = 'tighar.org'; $imapPort = 993; $imap_auth_mech = 'login'; $use_imap_tls = true;
http://projects.standblue.net/docs/qmail.html#service-resetproctitles
mkdir /var/service/resetproctitles cd /var/service/resetproctitles touch down echo '#!/bin/sh' > run echo echo -n $(for i in `seq 1 500`; do echo -n .; done) >> run chmod 755 run ln -s /var/service/resetproctitles /service/resetproctitles
telnet tighar.org 25 HELO MAIL FROM: newuser@canisius.edu RCPT TO: martin. newuser@tighar.org DATA Subject: testing with telnet This is a test. I hope it gets rejected. That is the way things are SUPPOSED to work! . QUIT
A quick way to test sendmail
mailx -s "mailx test message" newuser@canisius.edu type the body ... EOT (Ctrl+d)
mailx and mail rely on sendmail
qmail + vpopmail cheat sheet by Nick Vargish:
/usr/local/src/vpopmail-5.4.27/vmoduser -q NOQUOTA user@tighar.org /usr/local/src/vpopmail-5.4.27/vmoduser -q NOQUOTA tighar.org
vmoduser is in our build directory: