qmail-smtpd Listen On 2 Different Ports
My previous posting regarding smtp port 25 blocked by tmnet where TM will block OUTBOUND Simple Mail Transfer Protocol (SMTP) traffic or port 25 for all outgoing e-mails from streamyx dynamic IP addresses.
For those running qmail server, this is the way how to configure qmail-smtpd to listen on another port 587 instead of default port 25. In other word qmail-smtpd will listen on 2 different ports, 25 and 587.
First we copy /var/qmail/supervise/qmail-smtpd to /var/qmail/supervise/qmail-smtpd2 and edit the run script located in the qmail-smtpd2 directory and change the smtp port to 587.
# cd /var/qmail/supervise # cp -rf qmail-smtpd qmail-smtpd2 # cd qmail-smtpd2 # vi run
/usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \ -u "$QMAILDUID" -g "$NOFILESGID" 0 587 \ /usr/local/bin/rblsmtpd -b -r sbl-xbl.spamhaus.org \ /var/qmail/bin/qmail-smtpd mymailserver.com \ /home/vpopmail/bin/vchkpw /usr/bin/true 2>&1
Edit run script located in the log sub-directory as well.
# vi /var/qmail/supervise/qmail-smtpd2/log/run
#!/bin/sh PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin export PATH exec setuidgid qmaill multilog t s100000 n20 /var/log/qmail/qmail-smtpd2 2>&1
Create a symbolic link to your new smtpd2 supervisor directory
# ln -s /var/qmail/supervise/qmail-smtpd2 /service
Now edit the qmailctl script and duplicate all qmail-smtpd entries with qmail-smtpd2 entries.
# vi /var/qmail/bin/qmailctl
#!/bin/sh ... ... if svok /service/qmail-smtpd ; then svc -u /service/qmail-smtpd /service/qmail-smtpd/log echo "Starting qmail-smtpd" else echo "qmail-smtpd supervise not running" fi if svok /service/qmail-smtpd2 ; then svc -u /service/qmail-smtpd2 /service/qmail-smtpd2/log echo "Starting qmail-smtpd2" else echo "qmail-smtpd2 supervise not running" fi ... ... echo " qmail-smtpd" svc -d /service/qmail-smtpd /service/qmail-smtpd/log echo " qmail-smtpd2" svc -d /service/qmail-smtpd2 /service/qmail-smtpd2/log ... ... svstat /service/qmail-smtpd svstat /service/qmail-smtpd/log svstat /service/qmail-smtpd2 svstat /service/qmail-smtpd2/log ... ... echo "Pausing qmail-smtpd" svc -p /service/qmail-smtpd echo "Pausing qmail-smtpd2" svc -p /service/qmail-smtpd2 ... ... echo "Continuing qmail-smtpd" svc -c /service/qmail-smtpd echo "Continuing qmail-smtpd2" svc -c /service/qmail-smtpd2 ... ... echo "Restarting qmail:" echo "* Stopping qmail-smtpd." svc -d /service/qmail-smtpd /service/qmail-smtpd/log echo "* Stopping qmail-smtpd2." svc -d /service/qmail-smtpd2 /service/qmail-smtpd2/log ... ... echo "* Restarting qmail-smtpd." svc -u /service/qmail-smtpd /service/qmail-smtpd/log echo "* Restarting qmail-smtpd2." svc -u /service/qmail-smtpd2 /service/qmail-smtpd2/log ... ...
Now it’s time to restart qmail services
# qmailctl restart Restarting qmail: * Stopping qmail-smtpd. * Stopping qmail-smtpd2. * Sending qmail-send SIGTERM and restarting. * Sending qmail-pop3d SIGTERM and restarting. * Restarting qmail-smtpd. * Restarting qmail-smtpd2. #
Check the service is up and running
# qmailctl stat /service/qmail-send: up (pid 14156) 12 seconds /service/qmail-send/log: up (pid 14157) 12 seconds /service/qmail-smtpd: up (pid 14160) 12 seconds /service/qmail-smtpd/log: up (pid 14164) 12 seconds /service/qmail-smtpd2: up (pid 14167) 12 seconds /service/qmail-smtpd2/log: up (pid 14172) 12 seconds /service/qmail-pop3d: up (pid 14176) 11 seconds /service/qmail-pop3d/log: up (pid 14177) 11 seconds messages in queue: 104 messages in queue but not yet preprocessed: 0 #
qmail-smtpd should listen on 2 different ports and it’s now up and running on seperate 25 and 587 ports.
Discover the Magic Formula to creating Adsense sites using
Wordpress and make your first dollar in 7 days!