fetchmailエラー cannot get a range of message sizes
2005-08-20-4 / カテゴリ: [linux][command][POP3][メール] / [permlink]
ここ数日、メールが全く届かないからおかしいなぁと思っていたら(個人メールはなくても、ML と spam は届くはず...orz)、fetchmail がエラー吐いていた。(というか全然気づかんかった...)
で、調べてみると、
http://lists.ccil.org/pipermail/fetchmail-friends/2003-October/008061.html
というか
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=323027
これかなぁ。
まぁ、
数日前に、友人から結婚します(未来形)のご報告メールが...
$ fetchmail fetchmail: 185 通のメッセージがアカウント zaki@mail.example.org , サーバ mail.example.org 宛に届いています。 (933330 バイト) fetchmail: cannot get a range of message sizes (1-100). fetchmail: クライアント/サーバプロトコルエラーが mail.example.org よりメールを 受信している最中に発生しました。 fetchmail: Query status=4 (PROTOCOL)んぎゃぁ。
で、調べてみると、
http://lists.ccil.org/pipermail/fetchmail-friends/2003-October/008061.html
> This is the log:新しい Bug なのね。
fetchmail: cannot get a range of message sizes (1-14).
i have added fetchsizelimit 0 for this account and now it works (wasn't
necessary with 6.2.4)
というか
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=323027
これかなぁ。
まぁ、
$ fetchmail --version : Fetch message size limit is 100 (--fetchsizelimit 100). :と(そんな設定はしていないのに)なってるんで、.fetchmailrc に
fetchsizelimit 0追加しておけば、とりあえず fetch できた。
数日前に、友人から結婚します(未来形)のご報告メールが...
fetchmail と ssh ポートフォワードの併用(さらにapop)
2005-07-23-2 / カテゴリ: [linux][command][ssh][POP3][メール] / [permlink]
.fetchmailrcに
pop.example.org に ssh セッションを張って、ローカルへの 10110 アクセスを pop.example.org の 110 へフォワード。でもって、ローカルの 10110 へ apop で pop3 アクセス。sleep 15 は、retr が完了しきれる時間を考慮すること。
.id_rsa_nonpass はパスフレーズなしの ssh 秘密鍵。管理はしっかり!
set postmaster zaki set no bouncemail set logfile $HOME/log/fetchmail.log defaults flush fetchall no mimedecode no rewrite smtphost localhost poll pop.example.org via localhost port 10110 proto apop username 'username' preconnect "ssh -f -L 10110:pop.example.org:110 -i ~/.ssh/.id_rsa_nonpass zaki@pop.example.org sleep 15" password 'pop-passwd'
pop.example.org に ssh セッションを張って、ローカルへの 10110 アクセスを pop.example.org の 110 へフォワード。でもって、ローカルの 10110 へ apop で pop3 アクセス。sleep 15 は、retr が完了しきれる時間を考慮すること。
.id_rsa_nonpass はパスフレーズなしの ssh 秘密鍵。管理はしっかり!
APOP の実装
2005-07-17-5 / カテゴリ: [メール][POP3] / [permlink]
サーバの応答
で、ユーザ名が zaki, パスワードが passwd だとすると、必要なダイジェストは
この場合は
んで、サーバへのリクエストは
Post Office Protocol - Version 3(RFC1939 日本語訳)
hmiyazaki@MOZZARELLA:~$ telnet cheddar 110 Trying 192.168.1.1... Connected to cheddar. Escape character is '^]'. +OK Qpopper (version 4.0.5) at cheddar starting. <23361.1121585637@cheddar>に対して、<23361.1121585637@cheddar> がチャレンジ。
で、ユーザ名が zaki, パスワードが passwd だとすると、必要なダイジェストは
<23361.1121585637@cheddar>passwdの MD5 ハッシュ値となる。
この場合は
hmiyazaki@MOZZARELLA:~$ printf '<23361.1121585637@cheddar>passwd' | md5sum 98296f29bfa38c2a22cf886222956b6f *-みたいな感じで。
んで、サーバへのリクエストは
APOP zaki 98296f29bfa38c2a22cf886222956b6fで認証する。
Post Office Protocol - Version 3(RFC1939 日本語訳)
APOP命令を実装するPOP3サーバーは、その挨拶にタイムスタンプを含む。タイムスタンプの文法は[RFC822]の'msg-id'に相当し、 POP3サーバーが挨拶を発行する度に異ならなければならない(MUST)。例えば、POP3サーバーのインスタンス毎に別々のUNIXプロセスが使用されるUNIX実装において、タイムスタンプの文法は以下のようなもので良い。
<process-ID.clock@hostname>
ここで'process-ID'はプロセスのPIDの10進値であり、clockはシステムクロックの10進値、hostnameはPOP3サーバーを実行中のホストに対応するFQDN(fully-qualified domain-name)である。
POP3クライアントはこのタイムスタンプに注目し、APOP命令を発行する。パラメータ'name'は、USER命令の'name'パラメータと同じ意味を持つ。パラメータ'digest'は、タイムスタンプ(鍵括弧を含む)の直後に共有されている秘密を付加した文字列に、MD5アルゴリズム [RFC1321]を適用して計算される。この共有されている秘密は、POP3クライアントとサーバーのみが知っている文字列である。その秘密の情報は、誰でもその名前のユーザーへのなりすましを許してしまう事になる為、認証されない公開を防ぐように十分な注意が必要である。'digest'パラメータ自身は、小文字のASCII文字を使った16進形式で送信される16オクテットの値である。
最終更新時間: 2013-05-02 16:12