QMail 新增額外 SMTP Port

現在很多 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 便完成了。




Leave a Reply