|
全般的な設定・上級者向け・デバッグ・ソケット(Ver5.70対応版)
ここのオプションは、特定のアンチウィルスソフトや特定のメールサーバー、特定のファイヤウォール系ソフトとの間でうまくいかないらしい問題を調査するための設定です。
いろいろいじるとトラブルが解決するかもしれませんが、普通はいじらない方がいいです。
- POP3コマンドの送信をシングルスレッドで行う
-
POP3およびIMAP4での送信(send)を非同期ソケットによるシングルスレッドで行います。OFFの場合は送信専用の別スレッドを使ったマルチスレッド動作となっています。
- 送受信用のバッファを大きめに取る
-
setsockopt関数を使ってソケット用の送受信バッファ(SO_RCVBUFおよびSO_SNDBUF)のサイズを32キロバイトに拡張します。OFFの場合はデフォルトのバッファサイズ(たしか8キロバイト)のままです。
- 遅延送信をしない(TCP_NODELAYを1にする)
-
setsockopt関数でTCP_NODELAYを1にします。それによってどう動作が変わるのかは作者もよく分かってません。
- 強制マルチスレッド送信
-
ここのオプションをONにすると、メールを送信する時のソケットライブラリのsend関数呼び出しの処理を、必ず別スレッドで、非ブロッキングモードで実行するようにします。
- UIDLが不正と思わしき時は受信しない
-
POP3サーバーにUIDLコマンドを送って返ってくる応答が不正と思わしき時に、受信を中断します。
ここのオプションがOFFの場合、UIDL文字列が不正であると思わしき状況でも、とりあえずメールの受信を実行します。その結果、同じメールを重複して受信することがあります。そういう重複受信を防ぐためには、ここのオプションをONにしてください。
- UIDLが不正と思わしき時でもエラーメッセージを出さない
-
UIDLが不正と思わい時には、「UIDLが不正と思わしき時は受信しない」のオプションがON/OFFに関係なく、基本的にはエラーメッセージが出ます。
ここのオプションをONにすると、エラーメッセージを出さないようにしてしまいます。
ここのオプションをONにしつつ、「UIDLが不正と思わしき時は受信しない」もONにすると、UIDLが不正な時はメールを一切受信しないでエラーも出さずに受信を終了します。UIDLが不正になるケースがたまーにあるような場合には両方ONで使うのがいいかと思います。
- UIDLの行数がLISTの行数より多い場合もエラー扱いする
-
メールサーバーによって、UIDLの行数がLISTの行数よりも多くなってしまう場合があるようですが、普通はこういう場合は多い分のUIDL文字列を無視する(エラー扱いしない)動作となります。
ここのオプションをONにすると、そういうケースでもちゃんとエラー扱いにします。
- SSL2.0接続のオプションの意味をSSL3.0接続ってことにする
-
アカウント毎の設定・メールサーバー・詳細で「SSL2.0で接続」をONにしてる場合に、そのオプションの意味を、実は「SSL3.0で接続」という意味にするという、ちょっとややこしいオプションです。
今現在世の中に存在するSSLサーバーはほとんどTLS1.0対応になっているはずなので、このオプションを使う意味はまず無いと思います。
- SSL接続を必ずTLS1.0で接続させる(SSL2.0/SSL3.0での接続を禁止する)
-
ここのオプションをONにすると、SSL2.0/SSL3.0での接続を禁止してTLS1.0でのみ接続するようにします。特定のホストの場合(具体的にはmail.inter7.jpの場合)には、ここのオプションをONにしないとうまく接続してくれないようです。
- IGNORE CLIENT CREDENTIALS
-
これも昔デバッグ用に用意した物なので、今はまったく意味が無いと思います。動作としては、InitializeSecurityContext関数を呼び出してSEC_I_INCOMPLETE_CREDENTIALSが返った時に、クライアント証明書の作成をしないままInitializeSecurityContextの再試行をするような動作になっているようです。???
|