3.3. SMTP 릴레이 설정

vpopmail의 로밍서비스는 고정되어 있지 않은 IP사용자들에게 smtp 릴레이를 지원해 줄수 있는 기능이다. vpopmail은 먼저 POP 메일 유저의 암호를 확인한다음 얼마만큼의 시간동안 그 IP주소의 smtp 릴레이를 열어 놓게 된다. 다음과 같이 기본적인 tcp.smtp 파일을 만든다.

echo "127.0.0.:allow,RELAYCLIENT=\"\"" > ~vpopmail/etc/tcp.smtp

위 내용은 반듯이 필요하며, 이제 추가적으로 고정 IP(또는 대역)를 추가할수도 있다. 다음은 C class 10.1.1.x 대의 IP 주소로 부터의 릴레이를 허용한다.

echo "10.1.1.:allow,RELAYCLIENT=\"\"" >> ~vpopmail/etc/tcp.smtp

이제 기본 릴레이 파일을 만들었다면 다음 명령을 한번 실행해 준다.

~vpopmail/bin/clearopensmtp

마지막으로 crontab을 하나 설정해야 하는데, 이것은 cron에 의해 주기적으로 실행되어 릴레이가 허용된 IP 주소중 pop 인증 시간이 한시간 이상된 것이 있으면 지워준다. vpopmail 컴파일시 별다른 옵션을 주지 않았다면 기본적으로 릴레이 허용 시간은 한시간이며 이것은 --enable-relay-clear-minutes= 옵션으로 바꿔줄수 있다.

# crontab -e
40 * * * * /home/vpopmail/bin/clearopensmtp

qmail-smtpd 시동 스크립트는 vpopmail이 조절하는 cdb 파일을 참고하도록, 다음과 같이 바꾼다.

/var/qmail/supervise/qmail-smtpd/run 의 내용

#!/bin/sh
Q_UID=`id -u vpopmail`
Q_GID=`id -g vpopmail`
exec /usr/local/bin/softlimit -m 2000000 \
	  /usr/local/bin/tcpserver -vRHl 0 \
	  -x /home/vpopmail/etc/tcp.smtp.cdb \
	  -u $Q_UID -g $Q_GID 0 25 /var/qmail/bin/qmail-smtpd 2>&1