今から書くことは決して、メールサーバ(Postfix)を運用するためのノウハウではないのであしからず。
ただし、開発者がメール関係の開発をするときにテストとして知っておいたほうがいいとは思います。
また、サーバ系のミドルウェアに全くタッチしない人も、このような内容をしっているとちょっとはいいかもと思うこともあるかも知れません。
さて、今回のお題は「社外にメールを配信しても、実際には飛ばないようにしたい」という話です。
メールアドレスを適当に作ってしまい、それをもとにテスト配信したいのですが、実際飛んでしまっても困りますし、
でも、そのメール捨てられても困るんですよね。
さらに、贅沢なことに、一部のメールはほんとに飛んでほしいですよ。
ってことで、Postfixを使って、docomo.ne.jpとかにメールを出しても、そのサーバで受取る。ということをしたいと思います。
余談ですが・・・
その前に、あなたのLinuxにはPostfixはもしかしたら入っていないかもしれません。
でも、Redhat系ならばRPMで入っているでしょうから、sendmail を削除し、postfixをインストールしてください。
あなたが既にsendmail使いならいいのですが、postfixのほうがプログラマには向いていると思いますよ。
また、高速配信ならqmailだー!って人もいますが、あなたの高速配信ってどのレベルですか?
秒間数百通送りたい!!って人ならいいのですが、通常、日本でそんな需要はないですよ。
ちなみに高速配信するには、サーバの並列稼働が必要なのでアプリケーションレベルのみで解決はほぼできません。
だって、受け取り側が受け取ってくれないのですから・・・・
したがって、使いやすいMTAが一番。
さて、話をもどして、postfixで指定したドメインの受信をするには、
/etc/postfix/main.cf
のファイルを修正します。
| mydestination |
The mydestination parameter specifies the list of domains that this machine considers itself the final destination for. |
って、設定ファイルには書いてあります。
要するに、このパラメータで指定したドメインは、このマシンが受け取るよ。ってことです。
なので、ここの設定に、
mydestination = $myhostname, localhost.$mydomain, localhost,
ezweb.ne.jp, softbank.ne.jp, docomo.ne.jp
こんな感じに記述してしまえば、このサーバからのezwebや、docomo、softbank向けのメールはぜーーーんぶ、このサーバが受け取ってしまうということ。
あとは、
/etc/init.d/postfix restart
を忘れないでください。
じゃないと、ほんとに飛んでしまいますよ。
念のために、自分の携帯アドレスで確認してから実行してくださいね。失敗しても責任は負えませんので・・・


