现在很多 ISP 也会将用户的 port 25 封锁,只容许用户使用 ISP 提供的 smtp server。如果想架一台 smtp server 给被封锁 port 25 的用户使用,可以在 email server 多开一个 port 作为与用户的连线,只要用户在电邮软件修改 smtp port 便可以,以下是在 QMail 设定多一个 port 的方法:
假设要开启的 port 为 1225,首先将 /var/qmail/supervise/qmail-smtpd 整个目录复制多一份,一般上我会在复制目录名称后面加上 port 以便不会忘记:
# cp -Rp /var/qmail/supervise/qmail-smtpd /var/qmail/supervise/qmail-smtpd-1225
然后要修改 /var/qmail/supervise/qmail-smtpd-1225/run 档案,设定要监听的 port,应该会找到类以这一行:
-u “$QMAILDUID” -g “$NOFILESGID” 0 smtp
将 “smtp” 改成要新增的 port,那么就是要改成:
-u “$QMAILDUID” -g “$NOFILESGID” 0 1225
修改完以上档案后,便要修改 /var/qmail/supervise/qmail-smtpd-1225/log/run 档案,最后应该会有一行是指向 smtpd 的纪绿档,要指向一个新目录:
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd-1225
然后建立储存 smtpd-1225 的纪录档目录:
# mkdir /var/log/qmail/smtpd-1225/
# chown qmaill /var/log/qmail/smtpd-1225/
在 /service 目录下建立一个 soft link 到 /var/qmail/supervise/qmail-smtpd-1225/:
# ln -s /var/qmail/supervise/qmail-smtpd-1225/ /service/qmail-smtpd-1225/
到这里就只剩下修改 qmailctl 档案,里面有一行是:
svclist=”qmail-send qmail-smtpd”
需要加上新增的 port 才可正确启动:
svclist=”qmail-send qmail-smtpd qmail-smtpd-1225″
修改后重新启动 qmail 便完成了。