dot-stuffed の仕組み

PROGRAM

電子メールのメッセージをメールサーバ (MTA) へ送信する際には、内部的には本文を "ドット スタッフィング" ( dot-stuffed ) という方法を用いてデータを調整してあげる必要があります。

今回は、そのエンコード方法について調べてみることにしました。


dot-stuffed

電子メールのメッセージをメールサーバ (MTA) へ送信する際には、内部的には本文を "ドット スタッフィング" ( dot-stuffed ) という方法を用いてデータを調整してあげる必要があります。

仕組みの方はそれといって難しいものではないのですけど、SMTP サーバでは電子メールメッセージの終了を意味する記号としてドット ( . ) だけでなる行を利用するため、ドットだけからなる行を本文中にも含められるようにというのが、その理由のひとつなのだろうと思います。

また、POP3 の複数行応答でも、このドットスタッフィングが使われます。

 

エンコード

データをドットスタッフィングする方法としては、先頭行がドット ( . ) で始まる行があった場合には、その先頭にさらにドット ( . ) をひとつ追加します。

 

デコード

デコード方法は、ドット ( . ) で始まる行があったら、その先頭からドット ( . ) をひとつ省いてあげる感じになります。