POP3の…POP3の…おバカぁぁぁーーーーーー!!

↑ s/POP3/蒼星石/g すると、ローゼン第一期第8話。

さて、昨日 まきまき3 で配布した「薔薇乙女メールチェッカー 〜着てますか?着てませんか?〜」 に、早速問題が見つかりました。orz


LIST した後の反応っていうのは、ある程度しかRFCで規定されていないようですね…。私が想定したレスポンスは…

C:LIST

S:+OK 3 messages (469 octets)
  1 100
  2 200
  3 169
  .

こんな感じ。

ところがどっこい、サーバーによっては

C:LIST

S:+OK
  1 100
  2 200
  3 169
  .

とまぁ、何も無い場合もあるらしいじゃないですか。orz
み、見事にワナにはまってしまったぜ…

というわけで、以下のようなコードは軒並みアウト

std::string strRecvBuff;

if(strRecvBuff[0] == '+')
{ // レスポンスOK!
  m_nMailCount = atoi(&strRecvBuff[3]);
}

ただ、そもそも、LIST じゃなくて STAT でいいんじゃね? とか今更気づいた今日この頃。皆様いかがお過ごしでしょうか? 私はお部屋がとんでもない荒れ様で、どうしようか悩んでおります。




………ちくしょう薔薇水晶め…