SMTPサーバーに認証がないのはなぜ?

POPサーバーにはユーザー認証がありますが,SMTPにはないのはなぜ?


メールソフトにとってのSMTPサーバーは,メールを出すときの出口のように見えます。しかし厳密には,SMTPサーバーが行っているのはメールの「転送」なのです。この転送には,ほかのSMTPサーバーから送られてくるメールを,ユーザーのメールボックスに転送する作業(ユーザー宛メールの受信)も含まれています。
 つまり,SMTPサーバーは常に不特定多数のほかのSMTPサーバーからアクセス可能になっていないと,ユーザー宛のメールを受信できないのです。相手が特定できない以上,パスワードによる認証を行うのは不可能なので,多くのSMTPサーバーはパスワードなしでアクセスできるようになっているのです。
 ただ,何のチェックもなしに誰でもメールの転送を行えるようにしておくと,セキュリティホールとなって迷惑メールの転送に悪用される可能性があるので,ほぼすべてのSMTPサーバーにはセキュリティ対策が施されています。対策の内容は,

1.ユーザーのメールボックスへの転送時はすべてのメールを通す。
2.ほかのSMTPサーバーへメールを転送する場合(つまりメールソフトなどからの送信時)は,特定のマシン(同じドメイン内のマシンなど)からのメールしか通さないか,メール送信時にパスワード認証を行う。

といったものです。
 1.は場合によってはブラックリストを用意して,それに載っているドメインからのメールは受信拒否するようになっている場合もあります。
 2.はSMTPサーバーによって対処方法が違いますが,一般的なプロバイダのSMTPサーバーでは自ドメイン内のマシン(ダイヤルアップしているマシンなど)からのメールしか通さないようになっており,社内メールサーバーなどではパスワード認証を行うようになっていることがあります(この場合,SMTPサーバーとメールソフトが同じ認証方法に対応している必要があります)。
(渋谷 隆)



画面5 例えばOutlook ExpressでExchange 2000 Serverにアクセスする場合には,アカウントのプロパティで送信メールサーバー用の認証を行うように設定したりする(Exchange 2000 Serverは常に認証が必要なわけではない。認証を行うかどうかや認証方式は自在に設定できる)