Postfixの仕組みと基本設定をわかりやすく解説!メール送信の構築方法は?
はじめに
メールの送受信といえば、今は、MicrosoftのOutlookやGoogleのGmailが主流です。
どちらもWindowsだけでなく、Macなどでも使えるため便利なメールソフトになります。
最近はクラウド上でメール送受信ができるため従来のOutlookやGmailアプリをダウンロードせずしてメール送受信が可能です。
LinuxやUnixのOSでメールサーバー用ソフトといえば、sendmailが以前は主流でした。
このsendmailから派生して誕生したメール転送用のソフトウェアの一つがPostfixです。
Postfixはsendmailから派生しただけなく、同じグループのqmailの良いところを兼ね備えたソフトになります。
今回は、Postfixについての紹介です。
Postfixとは
Postfixは、メール転送を目的としたフリーソフトウェアです。
メール転送エージェント、通称MTAの一種に該当します。IBMがライセンス保有者です。
Unix専用のメールソフトウェア
Unix系のOSに対応していて設定が容易であることや高速であること、セキュリティ上の安全性などから人気のソフトウェアになります。
Unix用に設計されているのでUnix内のソフトと連携が必要です。
sendmailとの互換性
Postfixに先駆けてリリースされたsendmailと互換性を保有していたり、qmailの良いところを吸収したソフトウェアになっています。
Postfixの特徴
Postfixは、複数のプログラムから成り立っています。
Postfixの特徴は、大量のメールを高速で捌くことが可能です。
これは、メールボムなどのサイバー攻撃に対して強みを発揮します。
また、Postfixは開発当初からセキュリティソフトの開発者が関与していたため、セキュリティの安全性が高いところも特徴です。
運用管理が簡単で処理速度が速く、セキュリティが高いとまさにsendmailとqmailの欲しいところを掛け合わせました。
Postfixインストール方法
Postfixを実際にインストールする方法を紹介します。
Postfixをインストールするステップは、「インストール」と「MTA切り替え」です。
インストール
Postfixxをインストールする前に確認作業があります。それは、Postfixがインストールされているかどうかです。
もし、sendmailを使って稼働していた場合は、sendmailを停止することも忘れずにしなければなりません。
sendmailが稼働しているとPostfixはうまくインストールされない、もしくは作動しない可能性があります。
まずインストールの確認です。
- $ yum list installed | grep postfix
これでPostfixが表示されたら問題ありません。
表示されなければインストールされていないので次のコマンドでインストール作業が必要です。
- $ sudo yum install postfix
これでPostfixのインストールは完了になります。
もし上のコマンドを入力してPostfixがインストールされているのに作動されない場合は、sendmailが障害になっている可能性があります。
次のコマンドでsendmailを停止することがポイントです。
- $ sudo service sendmail stop
インストールしたPostfixのバージョンを確認したい場合は、次のコマンドで確認できます。
- $ postconf? mail_version
MTA切り替え
MTA切り替えは、まず、sendmailを設定しているならsendmailからPostfixへ切り替えしなければなりません。
次のコマンドを入力して、現在の設定を確認します。
- $ sudo alternatives –config mta
sendmailを使っている場合は、sendmailがデフォルト設定になっています。
そのため次のコマンドを入力してPostfixへ切り替え作業が必要です。
- /usr/sbin/sendmail.postfix
これでPostfixへMTAが切り替わります。
もし、きちんと切り替わったか確認した場合は、もう一度alternativesコマンドを入力すると確認が可能です。
Postfix設定方法
Postfixを設定するのは、難しいことではありません。
手順としては、接続するサーバー環境を用意して、ドメインを指定し、セキュリティ設定をするだけです。
基本設定は、次の4つのステップで完了できます。
サーバー環境
Postfixを設定するためには、まずサーバー環境を整えます。
プライベートサーバーをすでに構築しているならそれを利用することもできますし、レンタルサーバーでも利用可能です。
レンタルサーバーは、さくらのレンタルサーバーやロリポップ、カゴヤ・ジャパンで調達できます。
サーバー環境を整えたらLinux/Unixのディストリビューションを立ち上げて次のステップです。
ドメイン指定
サーバー環境を整えたら、次は、ドメイン指定です。
ターミナルエミュレータを起動してサーバーにアクセスします。
Postfixのインストールのために次のコマンドの入力が必要です。
また、パッケージリストが更新していない場合は、パッケージリストを更新してからインストールします。
ここでは、パッケージリストを更新してからPostfixをインストールする手順の紹介です。
- $ sudo apt-get update
- $ sudo apt-get install postfix
次に用意した設定ファイルをターミナルエミュレータへ反映させます。その際のコマンドは次の通りです。
- $ sudo cp /user/share/postfix/main.cf.dist / etc/postfix/main.cf
- $ sudo vi /etc/postfix/main.cf
最後に保存と再起動が必要になりますので保存と再起動用のコマンドを入力します。
- $ sudo newaliases
- $ sudo /etc/init.d/postfix restart
この作業までで基本設定とインストールが完了です。
セキュリティ設定
Postfixを無事インストールしたらそのまま使えますが、セキュリティ設定を忘れずに設定しておくべきです。
メジャーなセキュリティ設定は、SASL認証です。
SASLとはSimple Authentication and Security Layerの略称。
セキュリティのためのフレームワークになります。
- $ sudo apt-get -y install sasl2-bin
- $ sudo vi /etc/default/saslauthd
SASLを設定したらまず再起動です。
- $ sudo /etc/init.d/saslauthd restart
最後にPostfixを再起動させたら完了になります。
- $ sudo newaliases
- $ sudo /etc/init.d/postfix restart
メール送受信テスト
設定の締めにメール送受信のテストをしておくことをおすすめします。
設定しただけではきちんとメール送受信できるか確認することは困難です。
実際にメール送受信テストをして設定を確認することが大切。
メールを送信するには、次のコマンドを入力すると確認することが可能です。
- $ sendmail xxx@postfix.com
次に送信元のアドレスを入力します。
- From:cherryblossom@sakura.com
送信元のアドレスを入力したら次は、送信先のアドレスです。
- To:xxx@postfix.com
メールアドレスを入力し終えたら表題を入力します。
ここでは「Test mail」と記載していますが、本来はタイトルをここに入力です。
- Subject:Test mail
タイトルの入力が終わったらメール内容を記入します。
ここでは「Sample/Testing」と書いていますが、本来はメール本文を入力です。
- Sample/Testing
先程までの流れをつなげると次の通りになります。
ここでポイントは、最後に「.」をつけることです。忘れがちですので注意が必要になります。
- $ sendmail xxx@postfix.com
- From:cherryblossom@sakura.com
- To:xxx@postfix.com
- Subject:Test mail
- Sample/Testing
- .
Postfixの仕組み
かつて、メールの送受信はサーバー内だけでメールをやりとりしていました。
しかし、現在はサーバーの外とつなげてメールのやりとりをします。
この際にサーバーと外侮をつなぐ中継役が必要です。これがPostfixの役割になります。
Postfixの仕組みにおいてキーワードとなるのは、「メールサーバーの構築」と「メールリレー」です。
メールサーバーの構築
Unixのメールサーバーは、主にSMTP認証を利用してのメール送受信やメールリレー用として利用されることがほとんどです。
Postfixは、このメールリレー用のサーバーの役割を担います。
メールリレー
メールを送受信するうえで、間に中継するサーバーが存在します。
バケツリレーのようなイメージです。
メールを送ってから中継サーバーが受信先までメールをつなぎます。これがメールリレーです。
Postfixは、このメールリレーの中継役を担います。
Postfixのメリット
Postfixには3つのメリットが考えられます。
「高速送受信」、「セキュリティ」と「トラブル解消」です。
それぞれの項目を解説していきます。
高速送受信
Postfixは、競合に比べて異なる送信元のメールを100万通/1日送受信処理が可能です。
ファイリングシステムやプロセス生成の間を最小限にして3倍高速のパフォーマンスを実現しました。
このことでセキュリティや送受信のパフォーマンスへの信頼性が高まったのがPostfixのメリットです。
セキュリティ
Postfixは開発当初からセキュリティソフト開発に携わっていたベネマ氏がIBMと作り上げました。
セキュリティの安全性が高いとされています。
トラブル解消
Postfixは、sendmailやqmailより後発です。
しかし近年普及が加速していることもあり、参考文献などが豊富です。
参考文献やサンプルが豊富になったことでトラブル解決のノウハウも増えてきました。
以前はトラブルが発生すると対処するのに時間を要していましたが、現在はトラブル解消の時間が短縮されています。
Postfixのデメリット
Postfixのデメリットは、先発のsendmailやqmailに比べて多くありません。
ほとんどのLinux/Unixユーザーは、Postfixに対して高い評価を下しています。
ただ、sendmailやqmailに比べてPostfixが劣るところは、細かなカスタマイズができない、やりづらいところです。
以前のsendmailユーザーやqmailユーザーにとっては細かな設定ができないところはデメリットに感じてしまうのは仕方のない部分といえるでしょう。
もともとsendmailとqmailの良いところを組み合わせてできたのがPostfix。
意識せずに使用する分には、デフォルトだけで簡単に使えるのが大きなメリットだといえます。
Postfixとsendmailの違い
Postfixと先発のsendmailを比較して違いをみてみます。
まず、Postfixのメリットでもある設定のしやすさは、sendmailより断然Postfixが優位です。
他には、メール送受信は、Postfixがスムーズかつ高速で使いやすくなっています。
sendmailと互換性があるところも優れている点です。
一方でsendmailのメリットは、柔軟性になります。
例えば、セキュリティ設定はPostfixより高度なセキュリティを設定することが可能です。
まとめ
Postfixは、UnixのMTAとして初心者は特に使いやすくなっています。
sendmailを使っている場合は、Postfixへ互換できるので移管もスムーズ。
設定で詰まる可能性は低いといえるでしょう。
toiroフリーランスは、SHIFTグループがプライムとして参画している独自案件をフリーランスエンジニア向けに紹介する唯一のプラットフォームサービスです。
エージェントによるサポートもありますので、ご利用を検討してみてはいかがでしょうか。