カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

メール送信が遅い問題について

この記事は最終更新日から1年以上経過しています。

ここ数ヶ月、会社でメールを送信する際、待ち時間が長いので
何かおかしいと思い、色々調べてみました。
検索していると、ローカルホストのDNS逆引きや-Hや-Rのオプションをつけるといった解決方法が記載されていました。

それを色々試してみたが、一向に改善せず。
諦めかけていましたが、もう1台のメールサーバーではサクサク送信できているので
そのサーバーの起動スクリプトと比べてみたところ、アッサリ解決。

該当サーバーでは、迷惑メール対策の一環として世界共通のブラックリスト「Mail Abuse Prevention System Realtime Blackhole List(MAPS RBL)」を利用していました。

rblsmtpdはTCPServer(ucspi-tcp-0.88)のパッケージに含まれており、
インストールした際に/usr/local/binディレクトリにインストールされていますので、
起動スクリプトに加えるだけで利用できます。

例として起動スクリプトを記載します。

#!/bin/sh
#
# qmail: /var/qmail
. /etc/rc.d/init.d/functions

[ -f /var/qmail/rc ] || exit 0

case "$1" in
	start)

		# Start daemons.

		echo "Starting qmail."
		csh -cf '/var/qmail/rc &'

		# Starting tcpserver with pop3d
		/usr/local/bin/tcpserver -R 0 110 /var/qmail/bin/qmail-popup \
		example.com \
		/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2&>1 \
		| /var/qmail/bin/splogger pop3d &

		# Starting tcpserver with smtpd
		/usr/local/bin/tcpserver -H -R -v -x /vpopmail/etc/tcp.smtp.cdb \
		-c 100 -u qmaild -g nofiles \
		0 smtp /usr/local/bin/rblsmtpd /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &

		touch /var/lock/subsys/qmaild
		;;

	stop)

		# Stop daemons.
		echo "Shutting down qmail."

		killall -g qmail-send
		killall -g tcpserver

		rm -f /var/lock/subsys/qmaild
		;;

	restart)

		$0 stop
		$0 start
		;;

	*)

		echo "Usage: `basename $0` {start|stop|restart}" >&2
		exit 64
		;;
esac

exit 0

どうやら、このMAPS RBLがサービスを終了したか移転したか何かで利用できなくなっているのではないかと推測されます。
というわけでこれを以下のように利用しないよう変更しました。

#!/bin/sh
#
# qmail: /var/qmail
. /etc/rc.d/init.d/functions

[ -f /var/qmail/rc ] || exit 0

case "$1" in
	start)

		# Start daemons.

		echo "Starting qmail."
		csh -cf '/var/qmail/rc &'

		# Starting tcpserver with pop3d
		/usr/local/bin/tcpserver -R 0 110 /var/qmail/bin/qmail-popup \
		example.com \
		/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2&>1 \
		| /var/qmail/bin/splogger pop3d &

		# Starting tcpserver with smtpd
		/usr/local/bin/tcpserver -H -R -v -x /vpopmail/etc/tcp.smtp.cdb \
		-c 100 -u qmaild -g nofiles \
		0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &

		touch /var/lock/subsys/qmaild
		;;

	stop)

		# Stop daemons.
		echo "Shutting down qmail."

		killall -g qmail-send
		killall -g tcpserver

		rm -f /var/lock/subsys/qmaild
		;;

	restart)

		$0 stop
		$0 start
		;;

	*)

		echo "Usage: `basename $0` {start|stop|restart}" >&2
		exit 64
		;;
esac

exit 0

実際に送受信してみると、サクサクっとメールが送信できるようになりました。

この記事がお役に立ちましたらシェアお願いします
8,802 views

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です