2004-06-21 [長年日記]

[Q3] 変なENVELOPE対策

以下のようなおかしなヘッダがあるとcourier-imapが変なレスポンスを返してきてしまいうまく扱えていなかったのでエラーを無視して続行するようにしました。

こんなヘッダがあると、

To: foo@bar.com;, foo@bar.com

こんなENVELOPEレスポンスを返します(Toの部分だけ)。

((NIL NIL "foo" "bar.com")(NIL NIL NIL NIL)(NIL NIL "foo" "bar.com"))

おそらく「;」が現れるとグループ化されていない状態でもグループ終了マーカを出力するようになっているのでしょうね。

ちなみに手元にあったUW-IMAPだと、

* OK [PARSE] Unexpected characters at end of address: ;, foo@bar.com

というメッセージが出て、ENVELOPEレスポンス自体は、

((NIL NIL "foo" "bar.com")(NIL NIL "UNEXPECTED_DATA_AFTER_ADDRESS" ".SYNTAX-ERROR."))

になりました。堅いですね。

[]