Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

Outlook ExpressでPOP before SMTP仕様のサーバにメールを送信する

解説をスキップして操作方法を読む

デジタルアドバンテージ 小川 誉久
2006/03/04
 
対象ソフトウェア
Outlook Express
Outlook 2003
匿名による無差別なメール送信を防止するため、ISPはメール送信時にもユーザー認証を実行している。
その手段の1つとしてPOP before SMTPがある。
Outlook ExpressはPOP before SMTPに対応していない。しかしタイミングによってはエラーが表示される場合はあるものの、実用上は問題なく送受信できるように設定できる。
 
解説

 メールの送受用プロトコルであるSMTP(Simple Mail Transfer Protocol)は、もともとは認証機能を持たないプロトコルであった。インターネットの初期には、迷惑メールのように無差別にメールが送信されるということはほとんどなかったので、メール送信の認証を行う必要がなかったからだ()。

ここでは、メール送信時のセキュリティ(メーラから外部ドメインへ向けて発信されるメールのセキュリティ)について述べている。SMTPプロトコルは、外部からのメール着信や中継でも利用されるが、これらのケースでは不特定多数のドメインから接続されるため、(ほとんどの場合は)認証なしで任意のメール・サーバからの着信を受け付けるようになっている。

 しかし電子メールが広く普及し、迷惑メールのような強引なマーケティング手法が社会問題化すると、誰もが実質的に匿名で、無差別にメールを送信できるSMTPの仕様や、それを許すISP(Internet Service Provider)のSMTPサーバの存在が問題になった。

 この問題を解決する1つの方法が、POP before SMTPと呼ばれる認証方法である。メール受信用のPOPプロトコルではユーザー認証が必須なので、POPの認証にパスしたクライアントのIPアドレスをメール・サーバ側で覚えておき、その後一定時間はそのIPアドレスからのSMTPを許可するというものだ。たいていのユーザーは、メール受信とメール送信を連続して実行するので、これで問題なくメールを送信できるようになる。

 ただしこの説明からも分かるとおり、POP before SMTPは、送信元ユーザーを厳密に認証しているわけではない(POPで認証されたユーザーと同一ユーザーである可能性が高いというだけ)。そこで現在では、SMTP自体に認証のしくみを組み込んだSMTP Authenticationが開発され、これを実装したメール・サーバが増えている。しかしいまなお、POP before SMTPを認証方式として採用しているISPは少なくない。

 OfficeのOutlook 2003はPOP before SMTPに対応しているが、残念ながら、ユーザーの多いOutlook Express(以下OE)はPOP before SMTPには対応していない。ここでは、OEでPOP before SMTP仕様のサーバにアクセスする際の対処法を述べる。

POP before SMTPに対応していないOE

 OEはPOP before SMTPに対応していない。OEのデフォルトでは、メールの送信ボタンをクリックすると、すぐにメール送信処理を開始する仕様になっているので、その時点でまだPOP認証をしていないと、送信はエラーになってしまう。

 またOEで「メールの送受信」(メールの送信と受信の一括実行)を行うと、受信よりも送信を先に実行する仕様になっている。設定でこの順番を逆転させることはできない。このためPOP before SMTP仕様のサーバにメールを送信しようとすると、初回はエラーになる。

 一度POPに成功すると認証されるので、間をおかずに再度送信すると、今度は送信に成功するようになる。ユーザーから「メール送信に失敗するが、もう一度実行するとうまくいく」というような報告があったら、これを疑うべきだ。

POP before SMTP仕様のメール・サーバに接続する
初回はPOPによる認証に成功していないのでSMTPはエラーになるが、続けて2回目を実行すると、今度は成功する。
 

操作方法

 前述したとおり、Outlook Express(OE)は正式にはPOP before SMTPに対応していない。ただし実用上問題がないように設定することは可能だ。

1.「メッセージを直ちに送信する」をオフにする

OEの[ツール]−[オプション]から表示される[オプション]ダイアログの[送信]タブ
デフォルトでは、新規メール作成後に[送信]ボタンを押すと、すぐに送信処理が開始されて、エラーが起こす。このため、[メッセージを直ちに送信する]をオフにする。
  これをオフにする。

2.手動で送受信するか、自動送受信を設定する

 [メッセージを直ちに送信する]チェック・ボックスをオフにすると、新規メール作成後に[送信]ボタンを押しても、メールは送信されず、OEの「送信トレイ」に保存される。次に、ツール・バーの[送受信]ボタンか、[ツール]−[送受信]−[送受信]メニューを実行してメールの送受信を行う。この際送信エラーが発生するが、処理を続行する。すると受信処理が実行され、POPによる認証にパスする。

 1回目の送受信が終わったら、続けて再度同じ処理を行う。今度はPOP認証にパスしているので、POP before SMTPによる送信にも成功する(なお環境によっては、[接続]タブにある[送受信が終了したら切断する]チェック・ボックスをオフにする必要がある)。

 手動で送受信するのが面倒なら、送受信を短時間で自動実行するという手もある。これには[オプション]−[全般]タブの[新着メッセージをチェックする]をオンにし、送受信間隔を設定する。

[オプション]−[全般]タブ
自動送受信を短時間で繰り返せば、常にPOPによる認証成功の状態を維持できる。
  左のチェック・ボックスをオンにし、ここにインターバルの時間を分単位で設定する。

 POP認証成功の状態を維持する時間は、メール・サーバによってまちまちである。短い場合には、5分程度ということもあるようだ。正しく設定するには、接続するサーバの条件を確認する必要がある。

 自動送受信を設定しても、初回の起動直後などは送信エラーが発生する。その場合には、上で述べたように、手動でもう一度[送受信]ボタンを押せばよい。

Outlook 2003での設定方法

 余談だが、Officeに含まれるOutlook 2003は、POP before SMTPに対応している。設定するには、[ツール]−[電子メール アカウント]から表示されるダイアログで設定したいアカウントを選択し、「インターネット電子メールの設定(POP3)」の右下にある[詳細設定]ボタンをクリックして、[送信サーバー]タブをクリックする。ここで[送信サーバー(SMTP)は認証が必要]チェック・ボックスをオンにし、[メールを送信する前に受信メール サーバにログオンする]を選択すればよい。これにより、メールを送信する前に、POPサーバにログオンを実行するようになる。End of Article

Outlook 2003の[インターネット電子メール設定]ダイアログ
Outlook 2003なら、ここで設定することでPOP before SMTPに対応できる。
  これをオンにする。
  これを選択する。
 
「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間