|目次|手順 0|1|2|3|A|B|C|D|E|F|G|H| I |J|K|L|M|N|O|P|Q|
作成日:2001年06月01日、更新日:2004年12月06日 作成:鷹の巣無料のサブドメイン名(example.hn.org)を取得し、非固定IP(動的IP)アドレスの自宅メールサーバー(SMTP,POP)動作の確認手順を紹介します。
以下の説明では、ルータのプライベートIPアドレス(局所機番)を192.168.1.1 とし、
サーバーをインストールしたマシンのプライベートIPアドレス(局所機番)を192.168.1.2 としています。
また、以下の説明では、メールアドレス(webmaster@example.com)の@より前の部分をユーザ名と呼び、
@より後ろの部分のメールサーバーのホスト名をドメイン名(サブドメイン名)と呼ぶことにします。
この説明で使用している設定例やエラーの一覧は、Windows用ですが、他のOSの方もご一読願います。
メールサーバーの多くは、メールの不正中継を防止する為、POP before SMTP機能をもっています。 動作の確認を行う前にこのPOP before SMTP機能についての知識を深めて下さい。 この機能は、おいでんホームページさんの【おいでん講座:POP before SMTPとは何ぞや?】をご参照願います。 メールクライアントがメールを読み出してから一定時間経過すると認証切れになり、メールを送信出来なくなるのは、このためです。
目次
重要!(メールサーバーの動作試験の前に)
自宅メールサーバーを起動し、不具合が発生した場合は、必ずメールサーバー機にメールクライアントをインストールして、 まず、メールサーバー機内のメールクライアントから送受信テストを行って下さい。 メールサーバーの送信を許可するIPアドレスには、自己診断用のIPアドレスの127.0.0.1を必ず入れておきます。 又、メールサーバー機内のメールクライアントのPOP3サーバとSMTPサーバには、127.0.0.1を必ず入れておきます。
メールサーバー機内のメールクライアントからの送受信テストが成功すると、WAN側との通信が成功したことになります。 次にメールサーバー機以外のメールクライアントからの送受信テストを行って下さい。このテストでは、POP3サーバとの 接続にLAN内のTCP/IP通信を行います。こちらの方が案外、難しいかもしれません。
故障表示等は、全て英語で表示されますので、Excite エキサイト翻訳>テキスト翻訳で日本語に翻訳して下さい。
メールについては、配送の仕組みを理解すると故障表示の内容がよく理解できるようになります。 公開と隠ぺいのジレンマ「SMTP~前編」と「SMTP~後編」とラスト・ワン・ホップ プロトコル「POP3」をご参照願います。
また、エラーメールについては、知れば知るほど、オモシロイ(英語が達者な方は、RFC1893)をご参照願います。
ArGosoft mail server使用時の送受信エラーについては、ArGoSoftメールサーバーフリーウェア版とOutlook Express のFAQとエラー一覧表をご参照願います。
SMTPサーバーのログファイルを読む場合は、Y. MIMORI's home pageのSMTP command referenceをご参照願います。 WindowsのSMTPサーバーの場合は、いとのページのWinsock Error Code もご参照願います。
Docomoさん等の携帯電話へメール送信テストは、行わないで下さい。 理由は、Katsuyuki Kobayashi's HomePageさんのDocomo携帯メール遅延(2002.05.20-2002.05.26)をご覧下さい。 1時間毎にDocomoさん携帯電話へメールを送って、遅延時間を測定した結果を表示されています。
メールの送受信テストを行うに当たっての特記事項
メールは、送信先のメールアドレス(webmaster@example.com)のドメイン名(サブドメイン名)部分のexample.com(example.hn.org)のMXレコードによって送信先のIPアドレスを決定します。 正確に言いますと、ドメイン名(サブドメイン名)が設定されているDNSサーバーのMXレコードの配送順位で指定されたSMTPサーバーのホスト名smtp.example.com(example.hn.org)のグローバルIPアドレスへ送信されます。従って、
送信先が現在ご使用のプロバイダのメールアドレス又は、hotmailやGeocities等の無料メールの場合、
送信先のIPアドレスは、自宅メールサーバで指定したDNSサーバで、名前解決されます。 (ArGoSoft Mail Serverの場合、「Tools」-「Options」のGeneral タブの設定で、DNS Server欄に記入したプロバイダのDNSサーバにて名前解決されます。) 従って、送信できない場合は、自宅メールサーバで指定したDNSサーバが間違っているか、送信先のドメイン名(サブドメイン名)がMXレコードで、IPアドレスに名前解決出来ない場合のいずれかになります。
送信先が自宅メールサーバのwebmaster@example.comやwebmaster@example.hn.orgの場合(他の人からメールを受信する場合)、
送信先のIPアドレスは、メール送信する人が指定しているDNSサーバ(自宅メールサーバで指定したDNSサーバも含む)で、名前解決されます。 これらのDNSサーバは、最終的には、自分のドメイン名(サブドメイン名)で指定しているDNSサーバに問い合わせ、名前を解決しようとします。 (そのDNSサーバのMXレコードの配送順位の高いホスト名のグローバルIPアドレスへ送信されます。)
従って、ドメイン名(サブドメイン名)がダイナミックDNSを利用している場合は、ダイナミックDNSに現在のIPアドレスを更新して、 それが反映されていることと、ダイナミックDNSがMXレコード登録に対応していることが必要です。 MXレコードの設定が正しいかどうかは、「nslookup コマンドで、DNSサーバーを調べよう」の項8をご参照願います。
メールサーバを起動し、メールサーバの設定を済ませます。メールサーバには、ユーザ名 webmasterのメールアドレスが登録してあるものとします。(Windows用mail serverであるArGosoft mail server の設定例で、ユーザ名を登録していない場合は、メールサーバ起動時にエラーが 発生しますが、ユーザ名を登録しているのにエラーが発生する場合は、ArGosoft mail server エラーのFAQのFAQ00をご参照願います。)
まず、メールサーバー機内のメールクライアントから送受信テストを行い、WAN側(インターネット側)だけの通信テストを行います。
メールクライアントのメールアドレスの設定
メールサーバー機内のメールクライアントを起動して、メールアドレスにwebmaster@example.hn.orgを追加します。SMTPサーバーは127.0.0.1で、popサーバーは127.0.0.1を入れます。自宅サーバの場合は、ハードディスクの容量に余裕があるでしょうから、メールアドレスの設定時に 「サーバにメッセージのコピーを置く」を設定します。このように設定すれば、クライアント側でのメールのバックアップが不要になります。又、メールクライアントの起動時に受信メールを自動的に読み出すようオプション設定してください。メールクライアントの設定例の詳細は、Windows標準添付のメールクライアントであるOutlook Expressのメールアドレス設定例とOutlook Expressのオプション設定例をご参照願います。
メール送信試験(自宅メールサーバーのメールアドレスより送信)
webmaster@example.hn.orgより現在ご使用のプロバイダのメールアドレス又は、hotmailやGeocities等の無料メールへtestメールを送ります。この通信テストを行う前に、以下の囲みの内容を再度ご確認願います。
-表F1- 自分のドメイン名のメールアドレスより外側(WAN側)メールアドレスへのメール通信テスト前の確認事項
自分のグローバルIPアドレスを調べます。この確認くんをクリックしてみてください。(プロキシ(代理)サーバーを経由しないで下さい。) ここの上から3番目の項目の「現在接続している場所(現IP)」にあなたのグローバルIPアドレスが表示されています。 このグローバルIPアドレス(vvv.xxx.yyy.zzz)を控えておきます。
ブラウザを使用してインターネット側から、グローバルIPアドレスでのアクセス試験
(インターネット側から、自宅SMTPサーバーへの接続試験)
外部のサイトより、TCP25番ポートを通して、自宅SMTPサーバーへグローバルIPアドレスにてアクセス試験を行います。
メールを受信するには、インターネット上のSMTPサーバーから、自宅SMTPサーバーへTCP25番ポートを使用して接続出来なければなりません。まず、ブラウザを使用してインターネット側から、SMTPサーバーへグローバルIPアドレスで接続出来ることを以下のサイトより確認して下さい。
ブラウザのJavaScriptを有効にして、サーバー監視【無料】さんのport接続テスト(外部からのポート応答確認)で、host名に前項のグローバルIPアドレス(vvv.xxx.yyy.zzz)を入力し、 「標準ポート選択」を「SMTPテスト (25ポート)」として「ポートチェック」押ボタンを押して検査して下さい。(一定時間内の利用回数制限があります。)SMTP接続出来ない場合は、40秒程待つと結果が表示されます。
この検査は、自宅SMTPサーバーへの接続確認ですから、自宅SMTPサーバーまでのルータやファイヤウォールでのサービスポート25番の通過設定が正しいかどうかを確認出来ます。
-表F2- 自宅SMTPサーバーへの接続試験で、接続出来ない場合の確認事項
メール受信試験(自宅メールサーバーのメールアドレスにて受信)
項bのメール送信試験で、メールが現在ご使用のプロバイダのメールアドレス又は、hotmailやGeocities等の無料メールに着信したら、このメールを返信します。(webmaster@example.hn.org へメール送信)。この通信テストを行う前に、以下の囲みの内容を再度ご確認願います。
-表F3- 外側(WAN側)メールアドレスより自分のドメイン名のメールアドレスへのメール通信テスト前の確認事項
ルータのサービスポート25番がポートフォワーディングされており、ユーザ名とドメイン名(サブドメイン名)がメールサーバーとクライアントの両方に正しく、登録されていれば、着信に成功するはずです。
もし、受信出来ない様であれば、下表のサイトから自宅メール(SMTP)サーバーで管理するメールアドレスにメールを送信して下さい。必ず自宅SMTPサーバーが稼動しているグローバルIPアドレスと同じIPアドレスから、アクセスして下さい。(迷惑メール防止のため、IPアドレスの一致がメールを送信する条件となります。) そして、表示画面内容をコピーした上で、掲示板の方へご投稿して下さい。自宅サーバーですから、節度あるご利用をお願い致します。
| ホームページ名(敬称略) | 設定ページ | 備考 |
|---|---|---|
| 「鷹の巣」の自宅サーバー | 自宅メールサーバー受信試験 | 接続元IPアドレスとSMTPサーバーのIPアドレスが同じであること。 |
| hirokasa.com | hirokasa-MailServerのSMTPサーバ試験 | 同上。POPサーバ試験も可能。 |
| DNS Report(英語) | 右の入力欄にメールアドレス(webmaster@example.comやwebmaster@subdomain.example.com)を入力し、「Mail Test」押ボタンを押す。 | 簡単なテスト結果のみ。 |
| - | - | - |
上記の様に動作試験サービスを提供して頂けるサイトがございましたら、是非リンクさせて下さい。自宅サーバー用CGI(Common Gateway Interface)の質疑応答集もご一読して頂くと嬉しいです。
ダイナミックDNSでIPアドレス変更後、少なくとも10分以上経過してから、返信してください。さもないと送信エラーになります。着信時は、送信側のSMTPサーバーが配送を保留にする為、しばらくしてから、着信することになります。
WAN側(インターネット側)開通テストの終了
webmaster@example.hn.org よりプロバイダのメールアドレスや無料メールへのメールの送受信テストができましたら、 これで、webmaster@example.hn.org のメールアドレスのWAN側(インターネット側)開通テストは、成功しました。
メールサーバー機以外のLAN内メールクライアントから送受信テストを行い、LAN側(ローカル側)も含めた通信テストを行います。このテストでは、POP3サーバとクライアントの接続にLAN内のTCP/IP通信を使用して認証を行い、WAN側(インターネット側)への送受信テストを行います。必ず、前項までの通信テストが出来てから、行って下さい。
メールクライアントのメールアドレスの設定
メールサーバー機以外のLAN内メールクライアントを起動して、メールアドレスにuser@example.hn.orgを追加します。SMTPサーバーは、サーバー機の固定IPアドレス192.168.1.2を、popサーバーにも192.168.1.2を入れます。又、メールサーバーの送信を許可するIPアドレスには、メールクライアントのIPアドレスを必ず入れておきます。メールクライアントの他の設定は、項2のaと同様に行って下さい。
メール送信試験(自宅メールサーバーのメールアドレスより送信)
usr@example.hn.orgより現在ご使用のプロバイダのメールアドレス又は、hotmailやGeocities等の無料メールへtestメールを送ります。ユーザ名とドメイン名(サブドメイン名)がメールサーバーとクライアントの両方に正しく、登録されていれば、必ず送信に成功するはずです。
メール受信試験(自宅メールサーバーのメールアドレスにて受信)
メールが着信したら、このメールをusr@example.hn.orgに返信します。また、返信する場合は、項2のcと同様に行って下さい。
LAN側開通テストの終了
usr@example.hn.orgよりプロバイダのメールアドレスや無料メールへメールが返信されてきたら、これで、usr@example.hn.orgのメールアドレスの全ての開通テストは、成功しました。
同様にして、メールアドレスpostmaster@example.hn.orgや家族のメールアドレスも作って開通テストを行ってください。 メールアドレス数に制限はありませんので、自己の管理できる範囲で実施してください。
メールアドレスのユーザー名として、「postmaster」(RFC822の項6.3,RFC1123の項5.2.7,RFC2821の項4.5.1)と「abuse」(RFC2142)は、必須ですから、必ず追加しておいて下さい。
RFC2142(一般的なサービス、役割、機能に対するメールボックス名)の日本語訳の項3から項7より、まとめますと一般的に自宅SMTPサーバーでは、以下のユーザー名が必要になると考えられます。 これらの管理用ユーザー名を追加した場合、メーラに全部を登録するのは面倒です。 従って、管理用ユーザー名は、一つのメールアドレス(例えば、webmaster@example.com)に転送する設定を行なっておくことを推奨します。
○必須のメールアドレス abuse@example.com <-------- 顧客関連用 postmaster@example.com <--- SMTPサーバー用 ○稼動しているインターネットサーバーに対するメールアドレス webmaster@example.com <---- WWWサーバー用 ftp@example.com <---------- FTPサーバー用 hostmaster@example.com <--- DNSサーバー用 ○ある方が良いと考えられるメールアドレス、 noc@example.com <---------- ネットワーク管理用 security@example.com <----- ネットワークセキュリティ用
余裕があれば、LAN内のユーザ同士のメール送受信テストを実施して下さい。 前項までに述べましたが、LAN内のユーザ同士であってもメールアドレスのドメイン名がexample.hn.orgのようになっていますので、 ダイナミックDNSでIPアドレス変更後少なくとも 10分以上経過してから、テストを実施して下さい。
DNSサーバーのテスト(追記 2003.9.21)
DNS Report(英語)で、左の入力欄にドメイン名(example.comやsubdomain.example.com)を入力して、「DNS Report」押ボタンを押して下さい。結果が表示されましたら、Category欄のMailの部分を読んで下さい。
貴サイトが固定IPアドレスである場合は、RFC1123の項5.2.17で、user@[vvv.xxx.yyy.zzz]というIPアドレス(vvv.xxx.yyy.zzz)でも、メールを受信出来ることが要求されます。
WindowsのSMTPサーバーであるArGosoft Mail Server Freeware versionの場合は、Local Domainsタブに[vvv.xxx.yyy.zzz](鍵括弧が必要)を追加しなければなりません。
メールアドレスで必須のユーザー名の「postmaster」と「abuse」が設定されていない場合は、このサイトのCategory欄のMailの部分で警告されます。
次にメールの不正中継テストを行います。不正中継テストを実施する前にユーザー名として、「postmaster」と「abuse」を貴サイトのSMTPサーバーに追加しておいて下さい。 その後、自分のメールサーバーは大丈夫?の基本的テストと詳細テストと追加テストを行って下さい。
私の場合の結果を以下に示します。
基本的テスト
有限会社長崎ネットワークサービスさんの不正中継確認テストでwebmaster@example.comと入力したテスト結果は、ここに示す様な結果が表示されました。
詳細テスト
まず、現在のグローバルIPアドレスを調べてメモしておきます。(IPアドレスは、確認くんをクリックして、ここの上から3番目の項目に表示されています。)
NETWORK ABUSE CLEARINGHOUSEさんの不正中継確認テストで入力しますと、
ここに示す様な結果が表示されました。
メールサーバを管理運用する上で、あると便利なユーティリティは、メールクライアントが読めない(ダウンロード)できないメールサーバー上のエラーメールを削除するソフトとルータにメール着信表示がない場合、メールサーバー機上で新着メールを表示するソフトだと考えます。Windowsの場合は、「メールサーバーの保守について」をご覧願います。
Web上からメールを送信するには、html ファイルに「mailto:webmaster@example.com?subject=表題&body=本文%0D%0A内容」を埋め込むと、メールの表題と内容の一部を含んだメールを送信することが出来ます。アンケート等の複雑な内容のメールをWeb上からフォームメールで送信するには、CGI を使用することになりますが、 このCGIがほとんどがSMTPサーバーのsendmail を使用する前提に作成されています。PC-UNIXユーザーは、コマンドラインから、送信できるsendmail やそれ以外のsendmail wrapperを使用すれば、たいした改造をしなくてもCGIをそのまま使用することが出来ます。Windowsユーザーでフォームメールで送信する場合は、Windows自宅サーバー用フォームメールの設定方法(総集編)やフォームメールの設定例(sendmane.exe編)やフォームメールの設定例(sendmail.cgi編)をご覧下さい。
最後に迷惑メールやウィルスメールが届いた場合の対処方法を提示します。
まず、メールヘッダの見方で、メールヘッダの取り出し方を習熟して下さい。 次にこのメールヘッダより、送信元や中継先の情報をMail headerやメールのヘッダー情報の見方を参照して、読み取ります。 Webページ上で利用出来る文字化けしたメールの修復も併用すると便利です。
不正アクセス元を特定するには、手順H.セキュリィテイの確認のIPアドレスより、不正アクセス元を特定する方法をご参照願います。
|▲頁先頭|