qmailをOutbound Port 25 Blockingに対応します。
今回はサブミッションポートで送信できるように設定しますヾ(゚∀゚)ノ
[Linux,qmail] サブミッションポートに対応
一般家庭の回線を使用している方はこちらもご参考下さい。
スパム業者のお陰で、Outbound Port 25 Blockingという、メールを送るときに使っている25番ポートを塞いで、違うポートから送信させちゃおう!
っていう事で、結構設定とかで大騒ぎされた方もいると思います。
プロバイダによって仕様がバラバラなのでお客様への設定の時に大変なのはなんとかして欲しいです。
あとメールだけで通知も、あんなもん見てない人が大多数なんだから手紙とかでしっかり通知して欲しいですよね。
今回はサブミッションポートで送信できるように設定しますヾ(゚∀゚)ノ
[Linux,qmail] サブミッションポートに対応
一般家庭の回線を使用している方はこちらもご参考下さい。
スパム業者のお陰で、Outbound Port 25 Blockingという、メールを送るときに使っている25番ポートを塞いで、違うポートから送信させちゃおう!
っていう事で、結構設定とかで大騒ぎされた方もいると思います。
プロバイダによって仕様がバラバラなのでお客様への設定の時に大変なのはなんとかして欲しいです。
あとメールだけで通知も、あんなもん見てない人が大多数なんだから手紙とかでしっかり通知して欲しいですよね。
サーバの設定を確認
qmailをサブミッションに対応
qmailとVpopmailでは記述が一部違うので、両方掲載しておきます。
再起動後、サブミッションポートが有効になっています。
メールソフト等で、送信ポートを587に変更してテストをしてみて下さいヾ(゚∀゚)ノ
実は上記の項目はメールの待ち受けを25番に加えて587番でも行うという設定なので、特に難しい事はしておらず待ち受けポートの問題だけです。
なので、わざわざqmailの設定をしていなくても、
すればサーバの設定は必要ありません。
何事も勉強ですよ!勉強ヾ(゚∀゚)ノ
cat /etc/services | grep submission
submission 587/tcp msa # mail message submission
submission 587/udp msa # mail message submission
※submissionが587で割り当てられている事を確認
submission 587/udp msa # mail message submission
※submissionが587で割り当てられている事を確認
qmailをサブミッションに対応
qmailとVpopmailでは記述が一部違うので、両方掲載しておきます。
vi /etc/rc.d/init.d/qmail
※qmailの場合
※Vpopmailの場合
# /etc/rc.d/init.d/qmail start
※qmailを起動
※qmailの場合
#!/bin/bash
#
# qmail
#
# chkconfig: 2345 80 30
# description: qmail start/stop script
# Source function library.
. /etc/rc.d/init.d/functions
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
[ -f /var/qmail/rc ] || exit 0
start() {
# Start daemons.
if [ -z $(/sbin/pidof qmail-send) ]; then
echo -n "Starting qmail"
# qmail
csh -cf '/var/qmail/rc &' 2>&1 > /dev/null
# SMTP
tcpserver -qv -l0 -HR -u `id -u qmaild` -g `id -g qmaild` \
-x /etc/tcp.smtp.cdb 0 smtp \
qmail-smtpd `hostname` /bin/checkpassword /bin/true 2>&1|\
splogger smtp &
# SMTP※追加
tcpserver -qv -l0 -HR -u `id -u qmaild` -g `id -g qmaild` \
-x /etc/tcp.smtp.cdb 0 submission \
qmail-smtpd `hostname` /bin/checkpassword /bin/true 2>&1|\
splogger submission &
# SMTPS
tcpserver -qvs -l0 -HR -u `id -u qmaild` -g `id -g qmaild` \
-n /var/qmail/cert.pem -x /etc/tcp.smtp.cdb 0 smtps \
qmail-smtpd `hostname` /bin/checkpassword /bin/true 2>&1|\
splogger smtps &
# POP3
tcpserver -qvRH -u `id -u qmaild` -g `id -g qmaild` \
0 pop3 qmail-popup `hostname` /bin/checkpassword \
qmail-pop3d Maildir 2>&1 | splogger pop3 &
# POP3S
tcpserver -qvsRH -u `id -u qmaild` -g `id -g qmaild` \
-n /var/qmail/cert.pem \
0 pop3s qmail-popup `hostname` /bin/checkpassword \
qmail-pop3d Maildir 2>&1 | splogger pop3s &
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/qmail
return $RETVAL
else
echo "qmail is already started"
fi
}
stop() {
# Stop daemons.
if [ ! -z $(/sbin/pidof qmail-send) ]; then
echo -n "Shutting down qmail"
/bin/kill $(/sbin/pidof tcpserver)
/bin/kill $(/sbin/pidof qmail-send)
until [ -z $(/sbin/pidof qmail-send) ] && [ -z $(/sbin/pidof tcpserver) ]; do :; done
echo
rm -f /var/lock/subsys/qmail
else
echo "qmail is not running"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
if [ ! -z $(/sbin/pidof qmail-send) ] ; then
echo -n "qamil (pid"
echo -n " `/sbin/pidof qmail-send`"
echo -n " `/sbin/pidof tcpserver`"
echo ") is running..."
else
echo "qmail is stoped"
fi
;;
*)
echo "Usage: qmail {start|stop|restart|status}"
exit 1
esac
exit 0
#
# qmail
#
# chkconfig: 2345 80 30
# description: qmail start/stop script
# Source function library.
. /etc/rc.d/init.d/functions
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
[ -f /var/qmail/rc ] || exit 0
start() {
# Start daemons.
if [ -z $(/sbin/pidof qmail-send) ]; then
echo -n "Starting qmail"
# qmail
csh -cf '/var/qmail/rc &' 2>&1 > /dev/null
# SMTP
tcpserver -qv -l0 -HR -u `id -u qmaild` -g `id -g qmaild` \
-x /etc/tcp.smtp.cdb 0 smtp \
qmail-smtpd `hostname` /bin/checkpassword /bin/true 2>&1|\
splogger smtp &
# SMTP※追加
tcpserver -qv -l0 -HR -u `id -u qmaild` -g `id -g qmaild` \
-x /etc/tcp.smtp.cdb 0 submission \
qmail-smtpd `hostname` /bin/checkpassword /bin/true 2>&1|\
splogger submission &
# SMTPS
tcpserver -qvs -l0 -HR -u `id -u qmaild` -g `id -g qmaild` \
-n /var/qmail/cert.pem -x /etc/tcp.smtp.cdb 0 smtps \
qmail-smtpd `hostname` /bin/checkpassword /bin/true 2>&1|\
splogger smtps &
# POP3
tcpserver -qvRH -u `id -u qmaild` -g `id -g qmaild` \
0 pop3 qmail-popup `hostname` /bin/checkpassword \
qmail-pop3d Maildir 2>&1 | splogger pop3 &
# POP3S
tcpserver -qvsRH -u `id -u qmaild` -g `id -g qmaild` \
-n /var/qmail/cert.pem \
0 pop3s qmail-popup `hostname` /bin/checkpassword \
qmail-pop3d Maildir 2>&1 | splogger pop3s &
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/qmail
return $RETVAL
else
echo "qmail is already started"
fi
}
stop() {
# Stop daemons.
if [ ! -z $(/sbin/pidof qmail-send) ]; then
echo -n "Shutting down qmail"
/bin/kill $(/sbin/pidof tcpserver)
/bin/kill $(/sbin/pidof qmail-send)
until [ -z $(/sbin/pidof qmail-send) ] && [ -z $(/sbin/pidof tcpserver) ]; do :; done
echo
rm -f /var/lock/subsys/qmail
else
echo "qmail is not running"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
if [ ! -z $(/sbin/pidof qmail-send) ] ; then
echo -n "qamil (pid"
echo -n " `/sbin/pidof qmail-send`"
echo -n " `/sbin/pidof tcpserver`"
echo ") is running..."
else
echo "qmail is stoped"
fi
;;
*)
echo "Usage: qmail {start|stop|restart|status}"
exit 1
esac
exit 0
※Vpopmailの場合
#!/bin/bash
#
# qmail
#
# chkconfig: 2345 80 30
# description: qmail start/stop script
# Source function library.
. /etc/rc.d/init.d/functions
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
[ -f /var/qmail/rc ] || exit 0
start() {
# Start daemons.
if [ -z $(/sbin/pidof qmail-send) ]; then
echo -n "Starting qmail"
# qmail
csh -cf '/var/qmail/rc &' 2>&1 > /dev/null
# SMTP
tcpserver -qv -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail` \
-x /home/vpopmail/etc/tcp.smtp.cdb 0 smtp \
qmail-smtpd `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|\
splogger smtp &
# SMTP-Submission※追加
tcpserver -qv -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail` \
-x /home/vpopmail/etc/tcp.smtp.cdb 0 submission \
qmail-smtpd `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|\
splogger submission &
# SMTPS
tcpserver -qvs -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail` \
-n /var/qmail/cert.pem -x /home/vpopmail/etc/tcp.smtp.cdb 0 smtps \
qmail-smtpd `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|\
splogger smtps &
# POP3
tcpserver -qvRH -u `id -u vpopmail` -g `id -g vpopmail` \
0 pop3 qmail-popup `hostname` /home/vpopmail/bin/vchkpw \
qmail-pop3d Maildir 2>&1 | splogger pop3 &
# POP3S
tcpserver -qvsRH -u `id -u vpopmail` -g `id -g vpopmail` \
-n /var/qmail/cert.pem \
0 pop3s qmail-popup `hostname` /home/vpopmail/bin/vchkpw \
qmail-pop3d Maildir 2>&1 | splogger pop3s &
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/qmail
return $RETVAL
else
echo "qmail is already started"
fi
}
stop() {
# Stop daemons.
if [ ! -z $(/sbin/pidof qmail-send) ]; then
echo -n "Shutting down qmail"
/bin/kill $(/sbin/pidof tcpserver)
/bin/kill $(/sbin/pidof qmail-send)
until [ -z $(/sbin/pidof qmail-send) ] && [ -z $(/sbin/pidof tcpserver) ]; do :; done
echo
rm -f /var/lock/subsys/qmail
else
echo "qmail is not running"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
if [ ! -z $(/sbin/pidof qmail-send) ] ; then
echo -n "qamil (pid"
echo -n " `/sbin/pidof qmail-send`"
echo -n " `/sbin/pidof tcpserver`"
echo ") is running..."
else
echo "qmail is stoped"
fi
;;
*)
echo "Usage: qmail {start|stop|restart|status}"
exit 1
esac
exit 0
#
# qmail
#
# chkconfig: 2345 80 30
# description: qmail start/stop script
# Source function library.
. /etc/rc.d/init.d/functions
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
[ -f /var/qmail/rc ] || exit 0
start() {
# Start daemons.
if [ -z $(/sbin/pidof qmail-send) ]; then
echo -n "Starting qmail"
# qmail
csh -cf '/var/qmail/rc &' 2>&1 > /dev/null
# SMTP
tcpserver -qv -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail` \
-x /home/vpopmail/etc/tcp.smtp.cdb 0 smtp \
qmail-smtpd `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|\
splogger smtp &
# SMTP-Submission※追加
tcpserver -qv -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail` \
-x /home/vpopmail/etc/tcp.smtp.cdb 0 submission \
qmail-smtpd `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|\
splogger submission &
# SMTPS
tcpserver -qvs -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail` \
-n /var/qmail/cert.pem -x /home/vpopmail/etc/tcp.smtp.cdb 0 smtps \
qmail-smtpd `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|\
splogger smtps &
# POP3
tcpserver -qvRH -u `id -u vpopmail` -g `id -g vpopmail` \
0 pop3 qmail-popup `hostname` /home/vpopmail/bin/vchkpw \
qmail-pop3d Maildir 2>&1 | splogger pop3 &
# POP3S
tcpserver -qvsRH -u `id -u vpopmail` -g `id -g vpopmail` \
-n /var/qmail/cert.pem \
0 pop3s qmail-popup `hostname` /home/vpopmail/bin/vchkpw \
qmail-pop3d Maildir 2>&1 | splogger pop3s &
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/qmail
return $RETVAL
else
echo "qmail is already started"
fi
}
stop() {
# Stop daemons.
if [ ! -z $(/sbin/pidof qmail-send) ]; then
echo -n "Shutting down qmail"
/bin/kill $(/sbin/pidof tcpserver)
/bin/kill $(/sbin/pidof qmail-send)
until [ -z $(/sbin/pidof qmail-send) ] && [ -z $(/sbin/pidof tcpserver) ]; do :; done
echo
rm -f /var/lock/subsys/qmail
else
echo "qmail is not running"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
if [ ! -z $(/sbin/pidof qmail-send) ] ; then
echo -n "qamil (pid"
echo -n " `/sbin/pidof qmail-send`"
echo -n " `/sbin/pidof tcpserver`"
echo ") is running..."
else
echo "qmail is stoped"
fi
;;
*)
echo "Usage: qmail {start|stop|restart|status}"
exit 1
esac
exit 0
# /etc/rc.d/init.d/qmail start
※qmailを起動
再起動後、サブミッションポートが有効になっています。
メールソフト等で、送信ポートを587に変更してテストをしてみて下さいヾ(゚∀゚)ノ
実は上記の項目はメールの待ち受けを25番に加えて587番でも行うという設定なので、特に難しい事はしておらず待ち受けポートの問題だけです。
なので、わざわざqmailの設定をしていなくても、
ルータでポートフォワードしている環境ですとWAN側を587番に、LAN側を25番に設定
すればサーバの設定は必要ありません。
何事も勉強ですよ!勉強ヾ(゚∀゚)ノ
コメント