このページではLinuxで構築した自宅サーバーで、メールサーバーを認証してメール送信を行う方法について解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
メールサーバーの構築

メールサーバーについて

電子メールシステムについて

メールアカウントの作成

POP/IMAPサーバーの設定

Sendmailの設定

Postfixの設定

ユーザー認証によるメール送信

SMTP AUTHの設定

POP/IMAP before SMTP

dracによるPBS構築
(WBEL3,CentOS3(i386))

Pop-before-smtpの設定
(WBEL3,4_CentOS3,4+UW IMAP)

Pop-before-smtpの設定
(WBEL4_CentOS4,5+Dovecot)

SquirrelMailの設定

サブミッションポートの設定

メールの転送設定のコツ

メールサーバーのコントロール

メールサーバーの動作チェック

ポートフォワーディングの設定


なぜ外出先からメールが送信できないのか

ルーター に ポートフォワーディング の設定を行えば メールサーバー用のポートフォワーディング設定について 、 構築中のLinuxサーバー は メールサーバー としてインターネット空間のMTAと相互にメールの送受信を行うことが可能になります。

また、インターネットに接続できる場所であれば、外出先からでも 構築中のLinuxサーバー 上のメールデータを受信できるようになります。

ただ、メールの送信についてはそうはいきません。

この コンテンツ に従って Sendmail または Postfix を設定した場合には、 構築中のLinuxサーバー から他の MTA への転送を伴うメールの送信は、自宅の サブネット の プライベートIPアドレス からしか受け付けない設定になっているはずです。

つまり外出先からは、 "xxxxx@obenri.com" 宛てのメールしか、 構築中のLinuxサーバー は受け付けることができないということになります。

もちろん、「自宅だけでしかメールを扱わない。」というのであれば、これでも特に問題はないでしょう。

しかしノートパソコンを持ち歩いて、インターネットカフェや勤め先や学校などでメールを利用するときには、 「受信はできても、 xxxxx@obenri.com以外のメールアドレスへはメールを送信できない。」 というわけです。

外出先で受信したメールの返事を、自宅に戻ってからしか送信できないのでは確かに不便です。

ところで、メールサーバーはなぜこのような不便な仕組みになっているのでしょうか。

その原因はこのセクションの ”電子メールシステムについて” 電子メールシステムについて で説明していますが、そもそも電子メールとは、

「信頼できる多くのユーザーが一つのサーバーに ログイン してやりとりする。」

というものでした。

メールの送信はすべてサーバー内で完結する
メールの送信はすべてサーバー内で完結する

つまりユーザーはサーバーにログインした段階で既に最低限の認証は済んでおり、メール送信のときに改めて認証を行う必要はありませんでした。

しかし現在では、メールサーバー間でリレーを行い、 クライアント はサーバーに直接ログインすることなく ダウンロード と アップロード を行う、という電子メールの黎明期とは似ても似つかない利用形態が一般的になりました。

サーバーとクライアント間でメールを送受信する
サーバーとクライアント間でメールを送受信する

この、

「信頼できない不特定多数のユーザーがサーバーにログインせずに利用する。」

という現状に対して、標準的なユーザー認証の仕組み整備が遅れてしまい、依然として「後付けのユーザー認証を組み込んで現状に対処。」という状態が続いているため、標準的に構築したメールサーバーシステムには、

「外部ネットワークからの自由で簡単なメール送信ができない。」

という不自由が存在するわけです。

関連セクションへ 関連セクション・ Sendmailの設定

関連セクションへ 関連セクション・ Postfixの設定

このページの先頭へ↑

ユーザー認証をスムーズに行う三つの方法

外部ネットワークから安全かつ便利に電子メールの送信を行う方法にはいくつかありますが、それぞれの方法には一長一短があり、「この方法だけを押さえておけば大丈夫!」といったものは残念ながらありません。

このセクションでは、以下の三つの方法について解説していきます。

"SMTP AUTH"によるメール送信時での認証

MUA からメールの送信をおこなうときに SMTP で認証を行う方法です。

SMTP AUTH は、 WBEL や CentOS では構築も比較的簡単で、 POP/IMAP before SMTP のような「送信前に一度受信操作をしなければならない」、「 グローバルIPアドレス を共用している他の クライアント にも一時的に送信許可が与えられてしまう」といった問題もなく、最も望ましい認証方法です。

欠点としては、概ね2000年以前にリリースされたMUAの中にはSMTP AUTHに対応していないものが多く、今でも少なからずこれらの古いMUAの愛用者がいることから、現時点でもまだ普遍的なサービスとはなっていないことが挙げられます。

ただし、利用者全員がここ数年以内にリリースされたMUAを利用している場合には、問題なく快適なメールの送信環境が実現できますので、自宅サーバーでメールサーバーを構築する場合はおススメの方法です。

詳しい構築方法は SMTP AUTHの設定 SMTP AUTHの設定 からご覧いただけます。

POP/IMAP before SMTPによるメール受信時での認証

MUAがメールの受信操作を行った際に メールサーバー 側で認証が行われ、そのMUAの IPアドレス に対して一定時間送信許可を与える、という方法です。

MUAの種類を選ばず、「 POP3 や IMAP でメール受信してSMTPで送信するだけ」という最低限の機能しか持たないMUAでも利用可能という利点があります。

POP/IMAP before SMTPは、SMTP AUTHが一般化するまでの過渡的な手段という位置付けでしたが、SMTP AUTHに対応していない古いMUAの利用者がまだ残っているため、現在でも多くの ISP で採用されています。

過渡的な手段ということで ディストリビューション に標準では組み込まれず、その結果サーバー構築が比較的面倒であるという問題と、 「MUAはメール送信前に一度受信操作をしなければならない」 、 「グローバルIPアドレスを共用している他のクライアントにも一時的に送信許可が与えられてしまう」 などの欠点があります。

もしもメールサーバーの利用者が家族や友人に限定されていて、比較的新しいMUAを利用してもらえる環境であれば積極的にはおススメしませんが、パブリックなメールサーバーとして運用したい場合にはまだ必要な仕組みといえるでしょう。

POP/IMAP before SMTPの全般的な説明はこちら POP/IMAP before SMTP からご覧いただけます。

具体的な構築方法は、WBEL3及びCentOS3の場合はこちら dracによるPBS構築(WBEL3,CentOS3(i386)) 、WBEL4及びCentOS4の場合はこちら Pop-before-smtpの設定(WBEL3,4_CentOS3,4+UW IMAP) またはこちら Pop-before-smtpの設定(WBEL4_CentOS4,5+Dovecot) 、CentOS5の場合はこちら Pop-before-smtpの設定(WBEL4_CentOS4,5+Dovecot) をご覧ください。

Webメールを利用する方法

常に同じノードを有する Webサーバー をMUAとして稼働させ、そのWebサーバーとメールサーバーとの間で常に「中継を伴う送信許可」の設定のみを行う、という方法です。

このようにすれば、ユーザーの認証はクライアントとWebサーバー間で HTTP 認証を行うだけで済みますから、MTAには特に手を加える必要がなく、SMTP AUTHの構築やPOP/IMAP before SMTPの構築のように、面倒で危険の多い設定を行う必要がないという利点があります。

Webメールシステムの概要
Webメールシステムの概要

そのため、最近では企業などで使用するグループウェアやISPが提供するフリーメールなど、多数の利用者に対して簡単かつ安全にメールの利用環境を提供したいケースで多く利用されています。

最近はJavaやAjaxなどの サーバーサイドアプリケーション を利用して、快適に利用できるWebメールの環境が整いつつあります。でも、動作速度の遅さだけはどうしようもありませんけどね。

ただし、WebメールのインターフェースはHTTPのメソッドに依存せざるをえないため、多機能で動作の快適なローカルのMUAには全く敵いませんから、使い勝手という面で大きなマイナスとなります。

この コンテンツ では、Webメールシステムの構築として "SquirrelMail" の例をこちら SquirrelMailの設定 で解説していますので、興味のある方は参考にしてみてください。

関連セクションへ 関連セクション・ Sendmailの設定

関連セクションへ 関連セクション・ Postfixの設定

Postfixの設定 <<Previous
このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System