さくらインターネット VPSサーバーの制約
さくらインターネットのVPSサーバーは、申し込んだ直後の状態ではお試し期間(試用期間)になります。このお試し期間中には、全プラン(石狩・大阪、SSDプランも含めて)、外部への25番ポート(SMTP)接続が出来ない(OP25B設定)、アップロード帯域は2Mbpsなどの制約があります(さくらインターネット 「さくらのVPS」のお試し期間中に制限はありますか?)。
このため、お試し期間が終わるまでは、VPSにPostfixなどでメールサーバーを立てても、サーバーからメール送信ができません。外部への25番ポート接続禁止なので、VPSのPostfixを587ポート(サブミッションポート)にしても駄目です。
しかし、別な公開サーバーを持っているならば、その公開サーバーの587ポートをVPS向けに公開して、メールを中継(リレー)するようにし、お試し期間中でもVPSからメールを送信する方法があります。今回はその方法を解説します。
お試し期間のさくらVPSからメールを送信する設定
まず、VPSサーバーの /etc/postfix/main.cf のrelayhostの設定を次のように編集します(今回は外部サーバーをwww.example.com、VPSサーバーをwww.vps.comと想定)。
relayhost = www.example.com:587
この設定により、VPSのPostfixサーバーから送信されるメールは、外部サーバーの587ポートを中継するようになります。
次に、外部公開サーバーにSMTPをリレーする設定を入れます。無制限にリレーするとスパムの踏み台になってしまうため、自分自身とさくらVPSからのメールだけ送信を許可するようにします。
/etc/postfix/master.cf を次のように編集。
submission inet n - n - - smtpd
-o smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
-o mynetworks=127.0.0.1/8,... #VPSのIP
/etc/postfix/main.cfを次のように編集
mydestination = $myhostname, localhost.$mydomain,www.example.com
mynetworks = 127.0.0.1, ... #VPSのIP
自宅サーバーの場合は、ルーターの587ポートを許可すると同時に、/etc/postfix/main.cfに次のように記述します。
inet_interfaces = localhost,10.0.0.100 #自宅サーバーのローカルIPアドレス
Postfixをリロード
両方のサーバーの設定が終わったら、
sudo /etc/init.d/postfix reload
でPostfixの設定を反映させます。これにより、お試し期間中でもさくらVPSからリレーサーバーを経由してメールが送信できるようになります。