IIS SMTPなんて嫌いだー! | ライタス株式会社
IISのSMTPで困ったことになっているので、解説がてら整理。
IISのSMTPは、Windowsを利用していれば、簡単に利用できるSMTPサーバーで、
結構利用されているケースが多いように感じています。
テストケースに使うにはもってこいですし。(なんで本番につかうのかなー)
というか、そもそもIIS SMTPなんか使うなというお叱りはごもっともだと思います。
のっぴきらない理由はお察しください。・゚・(ノ∀`)・゚・。
さて、今回の現象ですが、RFCに関わる部分なので、多少前提知識が必要です。
ここをお読みの方は、きっとハイエンドな方ばかりだと勝手に信じて話をすっ飛ばすと・・・
メールヘッダーにMessage-IDという項目があります。
Message-IDに関しては、ここのサイトが詳しい解説をしています。
http://www.emaillab.org/essay/message-id.html
この値は、インターネット的にユニークな値であることを保証される必要があるのですが、
IIS SMTPを使ってメールを出すと、条件によっては、重複したものが生成されるケースが
あるようです。
その条件は、よくわかっていないのですが、現象が起きている環境をちょこっとだけ書くと、
Windows Server 2003 R2 + IIS + ASP.NET 2.0で、メールをIIS SMTPに対して短い間隔で出す
と、現象が発生するようです。
IISのMessage-ID の形式は、
[サーバー名][よくわからない文字列9文字][8桁の数字(連番?)]@[DNSサフィックス]
のようですね。
重複するのは、[8桁の数字(連番?)]の部分が原因みたいで、
予想では、マルチスレッドで動作している場合に、同じIDが出ることがあるとか、
そんなんじゃないかなとおもいます。
ASP側で、Message-IDを生成して送るように設定したはずなのですが、
どうも、IIS側でMessage-IDを付け替えてくれているようです。
余計なことしやがって
親切なのはうれしいのですが、ちゃんと動いていないのが残念でなりません。
で、その対策を探しているのですが、なかなか見つかりません。
レジストリをいじってやれば、できるとかそういうのを期待したんですけど・・・
見つからないということは、世間にこんなことで、悩んでいる人はきっといないということで、
ちょっと安心(?)しました。
私はというと、他のMTAにSMTPすることで回避しました。
(最初からそうしろよっっていう話もありますが、こちらものっぴきらない事情がありまして・・・泣)
別件ですが、似たようなことでお怒りの方を発見・・・御参考までに
http://www.dreams.ne.jp/support/mail/messageid.html
ちなみに、調べて初めて知ったのですが、Windows 7には、IIS SMTPは付属していないみたいです。
本記事は、弊社代表のブログ記事なんでもIT屋の宿命からの記事を加筆修正したものです。
IISのSMTPは、Windowsを利用していれば、簡単に利用できるSMTPサーバーで、
結構利用されているケースが多いように感じています。
テストケースに使うにはもってこいですし。(なんで本番につかうのかなー)
というか、そもそもIIS SMTPなんか使うなというお叱りはごもっともだと思います。
のっぴきらない理由はお察しください。・゚・(ノ∀`)・゚・。
さて、今回の現象ですが、RFCに関わる部分なので、多少前提知識が必要です。
ここをお読みの方は、きっとハイエンドな方ばかりだと勝手に信じて話をすっ飛ばすと・・・
メールヘッダーにMessage-IDという項目があります。
Message-IDに関しては、ここのサイトが詳しい解説をしています。
http://www.emaillab.org/essay/message-id.html
この値は、インターネット的にユニークな値であることを保証される必要があるのですが、
IIS SMTPを使ってメールを出すと、条件によっては、重複したものが生成されるケースが
あるようです。
その条件は、よくわかっていないのですが、現象が起きている環境をちょこっとだけ書くと、
Windows Server 2003 R2 + IIS + ASP.NET 2.0で、メールをIIS SMTPに対して短い間隔で出す
と、現象が発生するようです。
IISのMessage-ID の形式は、
[サーバー名][よくわからない文字列9文字][8桁の数字(連番?)]@[DNSサフィックス]
のようですね。
重複するのは、[8桁の数字(連番?)]の部分が原因みたいで、
予想では、マルチスレッドで動作している場合に、同じIDが出ることがあるとか、
そんなんじゃないかなとおもいます。
ASP側で、Message-IDを生成して送るように設定したはずなのですが、
どうも、IIS側でMessage-IDを付け替えてくれているようです。
親切なのはうれしいのですが、ちゃんと動いていないのが残念でなりません。
で、その対策を探しているのですが、なかなか見つかりません。
レジストリをいじってやれば、できるとかそういうのを期待したんですけど・・・
見つからないということは、世間にこんなことで、悩んでいる人はきっといないということで、
ちょっと安心(?)しました。
私はというと、他のMTAにSMTPすることで回避しました。
(最初からそうしろよっっていう話もありますが、こちらものっぴきらない事情がありまして・・・泣)
別件ですが、似たようなことでお怒りの方を発見・・・御参考までに
http://www.dreams.ne.jp/support/mail/messageid.html
ちなみに、調べて初めて知ったのですが、Windows 7には、IIS SMTPは付属していないみたいです。
本記事は、弊社代表のブログ記事なんでもIT屋の宿命からの記事を加筆修正したものです。
コメント
コメントを投稿