sylpheed
2006-07-02-3 / カテゴリ: [ubuntu][メール][アプリ] / [permlink]

パッケージ(universeコンポーネント)で最新の 2.2.6 があったのでインストール。
ま、普段はターミナル + screen + wanderlust だけどね。
大量のメールをフォルダわけするときはマウスの方が…^^;

wanderlustインストール
2006-07-02-2 / カテゴリ: [ubuntu][メール][アプリ][wanderlust] / [permlink]

そのまえに emacs のセットアップだけど。
http://www.ubuntulinux.jp/wiki/Emacsにあるので、debian の設定にマージしてGo
mule-ucs を入れても、言う程遅くはならなかったので、そこは触らず。PCスペックかな?(⌒▽⌒)

んで、wl の設定後にテスト送信…できない。sakuraの25/TCPにつながらないっぽい。てか、OP25か。なんで、submission 設定
(setq wl-smtp-posting-server "smtp.example.org")
(setq wl-smtp-posting-port "587")
(setq wl-smtp-posting-user "foo@example.org")
(setq wl-smtp-authenticate-type "cram-md5")

fetchmail, procmail, spamassassin の設定
2006-06-05-1 / カテゴリ: [linux][centos][メール] / [permlink]

すでに未読が2600通以上ある。はやいとこなんとかせんと…
centos の spamassassin のバージョンは 3.0.4
debian とほぼ同じだな。結果から言うと、仕込んだspamデータと設定は使いまわせた。

もはや基本は無視して
$ spamassassin --lint
で、~/.spamassassin を作成

debian のデータから ~/spamassassin をごっそりコピーしてくる。

んで、.fetchmailrc と .procmailrc を設定してメールを pop する。
受信完了まで3時間もかかりやがった… Pen M 1.73 GHz ってこんなもん??

あとは wanderlust か。

Sylpheedへ乗り換え
2006-04-22-1 / カテゴリ: [win][メール][アプリ] / [permlink]

結局乗り換えた。
会社で使うには Sylpheed の方が添付ファイルの扱いが簡単だから…。

あとは検索で複数フォルダにまたがって検索できれば完璧なんだけどなぁ。
TODO見ると、現在作業中で破線になってるから近いうちに使えるようになると期待してるけど。

Win版sylpheed
2006-02-23-1 / カテゴリ: [win][メール][アプリ] / [permlink]

betaが取れたので入れてみた。相変わらず $HOME を見てないような気がするんだけど…。環境が悪いのかな??
C:/cygwin/home/user/Mail をローカルフォルダにするには、 C:/Documents and Settings/user/Application Data/Sylpheed/folderlist.xml の
:
<folderlist>
    <folder type="mh" name="メール箱" path="C:/cygwin/home/user/Mail">
:
とすれば見てくれる。
検索フォルダの設定はメニューの[編集(E)]->[メッセージを検索(S)]の検索ウインドウを出し、[検索フォルダとして保存(S)]すればOK
(ただし、Mail以下にキャッシュ用のフォルダが作成される)

外部コマンドで「メールの受信」を設定できないのはWin版の仕様なのかなぁ。fetchmail使いたいんだけどなぁ。

mew でサマリの更新
2005-12-21-7 / カテゴリ: [linux][メール][アプリ] / [permlink]

wl とかでメールの整理をして、サマリでは表示されるのにメールがない、という状態で、サマリを更新する
M-x mew-summary-ls

cygwin で fetchmail + procmail
2005-12-21-2 / カテゴリ: [win][cygwin][メール] / [permlink]

[2004-08-21-1]
.fetchmailrc, .procmailrc のモードは644 600
~ は 755 に。

...前にも同じことやってた。

procmailrc でメールの保存先
2005-12-21-1 / カテゴリ: [linux][メール][command] / [permlink]

/. で終わる ... MH 形式
/ で終わる ... Maildir 形式

.procmailrc によるフォルダ振り分けは、あらかじめ対象フォルダを準備しておかないと NG
Maildir の場合は、配下の new/cur/tmp は勝手にできる。

mew で「続きを受信」
2005-11-28-1 / カテゴリ: [linux][メール][アプリ] / [permlink]

サイズの大きいメールはデフォルトでは途中までしか POP されず、T マークがつく
続きを受信するには
I
ただし、1通ごとに POP パスワードが必要。
ので、
*
で、まとめ処理用マークを付加して
mI
で、まとめて POP する。
おわったら
U
で、* を入力すればマークが消える。

spamassassin Bayesianフィルタ 設定
2005-09-18-1 / カテゴリ: [linux][debian][メール] / [permlink]

[2005-09-14-1]の続き。
USAGE の通りに
      spamassassin -t < sample-nonspam.txt > nonspam.out
      spamassassin -t < sample-spam.txt > spam.out
を一般ユーザで実行すると、~/.spamassassin 以下に
bayes_seen: Berkeley DB (Hash, version 8, native byte-order)
bayes_toks: Berkeley DB (Hash, version 8, native byte-order)
2つのファイルができた。
どうやら、デフォルトで bayesian フィルタを使うようになっているようだ。設定項目のリストおよびデフォルト値は
$ perldoc Mail::SpamAssassin::Conf
で見れる。

で、とりあえず、手元の spam さんたちを spam 扱いとして DB に突っ込む。
$ sa-learn --spam ~/Maildir/.Junk/cur
負荷と時間名はそれなりにかかる…(約2000通のメールで20分ほど)
更新された DB ファイルは
-rw-------  1 zaki zaki  176128 2005-09-18 18:17 bayes_seen
-rw-------  1 zaki zaki 5242880 2005-09-18 18:17 bayes_toks
こんなサイズ。
ディレクトリでなく、ファイル指定も OK みたい。

逆に、非 spam メールは --ham 指定で sa-learn を実行
$ sa-learn --ham ~/Maildir/.Friend/cur

とりあえず、これだけセットして、.procmailrc で fetch と同時にフィルタリングするよう設定
 :0 fw
 | /usr/bin/spamassassin
 
 :0 :
 * ^X-Spam-Status: Yes
 $HOME/Maildir/.Spam/
f はパイプ(|)をフィルタとみなし、w はフィルタが異常終了した場合はフィルタに渡す前の状態にする、と(man fetchmailrc)

でもって、ケータイから1通メールを送ってみると、ヘッダにちゃんとチェック結果が追記されていた。
X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on cheddar
X-Spam-Level: *
X-Spam-Status: No, score=1.4 required=7.0 tests=AWL,BAYES_50,NO_REAL_NAME,
	PRIORITY_NO_NAME autolearn=no version=3.0.3
ふーん、、、



で、セット後数時間経過したら、ちょーど spam がキタ
X-Spam-Flag: YES
X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on cheddar
X-Spam-Level: ****************
X-Spam-Status: Yes, score=16.8 required=7.0 tests=BAYES_99,NO_REAL_NAME,
	RCVD_IN_SBL,SUBJ_ILLEGAL_CHARS,URIBL_AB_SURBL,URIBL_OB_SURBL,
	URIBL_SBL,URIBL_SC_SURBL,URIBL_WS_SURBL autolearn=spam version=3.0.3
X-Spam-Report: 
	*  0.0 NO_REAL_NAME From: does not include a real name
	*  2.9 SUBJ_ILLEGAL_CHARS Subject contains too many raw illegal characters
	*  3.5 BAYES_99 BODY: Bayesian spam probability is 99 to 100%
	*      [score: 1.0000]
	*  0.1 RCVD_IN_SBL RBL: Received via a relay in Spamhaus SBL
	*      [220.230.107.120 listed in sbl-xbl.spamhaus.org]
	*  1.0 URIBL_SBL Contains an URL listed in the SBL blocklist
	*      [URIs: lovinyou.net]
	*  0.4 URIBL_AB_SURBL Contains an URL listed in the AB SURBL blocklist
	*      [URIs: lovinyou.net]
	*  1.5 URIBL_WS_SURBL Contains an URL listed in the WS SURBL blocklist
	*      [URIs: lovinyou.net]
	*  3.2 URIBL_OB_SURBL Contains an URL listed in the OB SURBL blocklist
	*      [URIs: lovinyou.net]
	*  4.3 URIBL_SC_SURBL Contains an URL listed in the SC SURBL blocklist
	*      [URIs: lovinyou.net]
おー
BAYES_99 がベイジアンフィルタでのチェック結果ぽいな。
これから spam くるのが楽しみだ(本末転倒)

しっかし、結果として spam 認定したときのプロセスの実行がすげー重い… 十数秒はかかる。やっぱチューニング必要なのかなぁ…



設定リストメモ
http://spamassassin.apache.org/tests_3_0_x.html

spamassassin インストール
2005-09-14-1 / カテゴリ: [linux][debian][メール] / [permlink]

バージョンは 3.0.3-2 (2005/09/14 現在)
# aptitude install spamassassin
:
The following NEW packages will be automatically installed:
  libdigest-hmac-perl libdigest-sha1-perl libhtml-parser-perl 
  libhtml-tagset-perl libnet-dns-perl spamc 
The following NEW packages will be installed:
  libdigest-hmac-perl libdigest-sha1-perl libhtml-parser-perl 
  libhtml-tagset-perl libnet-dns-perl spamassassin spamc 
0 packages upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 1194kB of archives. After unpacking 3912kB will be used.
Do you want to continue? [Y/n/?]
htmlメールにも対応??

debconf はなし。
メッセージに
SpamAssassin Mail Filter Daemon: disabled, see /etc/default/spamassassin
とあるのでチェック。
動かすためには
ENABLED=0
を 1 にせよ、とのこと。ユーザごとの設定で、システムワイドの設定をすべて上書きできるみたいなので、とりあえず 1 にして daemon start. すると 783/tcp が LISTEN した。

うーん、次に何をすればよいのやら…
ユーザ用の実行ファイルは dpkg -L を見た感じでは /usr/bin/spamassassin と /usr/bin/spamc の2つ。man をさらっと見た限りでは spamc は smapd (daemon) とおしゃべりするコマンドかな。spamassassin がフィルタぽい。
よくわからんので、とりあえず
$ spamassassin --lint
を実行。rule ファイルの syntax error を報告するオプション。
すると
Created user preferences file: /home/zaki/.spamassassin/user_prefs
と、なったので、ひとまず、Maildir/.Junk 以下に Thunderbird さんが振り分けてくれた spam たちで遊んでみる。

とりあえず動作に影響がでなさそうなオプションで
$ spamassassin -tL ~/Maildir/.Junk/cur/xxx
-t は test mode で、レポートを追加
-L は local test mode でサーバと接続しない(?)
で、結果は stdout に吐かれて、ヘッダの最後に
X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on cheddar
X-Spam-Level: ***
X-Spam-Status: No, score=3.0 required=5.0 tests=NO_REAL_NAME,
        SUBJ_ILLEGAL_CHARS autolearn=no version=3.0.3
メール本文の後ろにpreviewと
Content analysis details:   (3.0 points, 5.0 required)

 pts rule name              description
---- ---------------------- --------------------------------------------------
 0.1 NO_REAL_NAME           From: does not include a real name
 2.9 SUBJ_ILLEGAL_CHARS     Subject contains too many raw illegal characters
というレポートが出力された。
デフォルトだと、points(3.0になってる値)が5.0を超えると spam 判定されるようだ。でもって、spam 扱いになると、multipart メールになって、警告文が追加される。
Subject の書き換え("[spam]"の追加等)は
header_rewrite Subject [spam]
multipart への書き換え禁止は
report_safe 0
を ~/.spamassassin/user_prefs に追加。
ヘッダの追加は許すが、ヘッダの書き換え・本文の書き換えは個人的にキライ。

現在の判定材料は NO_REAL_NAME, SUBJ_ILLEGAL_CHARS のみ(?)ってことかね。

って、よくみたら、/usr/share/doc/spamassassin/USAGE.gz が。
まずは
      spamassassin -t < sample-nonspam.txt > nonspam.out
      spamassassin -t < sample-spam.txt > spam.out
せよ、とのこと ^^; 遅いっつーの。

うーん、結構チューニングが面倒か?
って、ベイジアンフィルタはどうすんだ?

きっと続く。
Referrer (Inside): [2005-09-18-1]

Postfixインストール(sarge)
2005-09-13-1 / カテゴリ: [linux][debian][MTA][メール][Postfix] / [permlink]

計画としては、spamassassin でもいれようかと。
sarge の Postfix は 2.1.5-9 (2005/09/13現在)

で、まぁ
# aptitude install postfix

外向け(外からの受信/外への配送)に動かす気はないので、とりあえず debconf はほぼ全部デフォで。
General type of configuration は Local only にした。ドメインだけは、ちゃんと設定。
まぁ、ほとんどPostfix + qpopper見ながら設定。あとはmain.cf 和訳

あれ? ローカルオンリーにしたいんだったら、何も設定することがない…
しかも
inet_interfaces = loopback-only
のおかげで、LAN 内からも 25/tcp はアクセスできん。
これじゃ面白くないので、予定変更。

# dpkg-reconfig postfix
にて、Satellite system に変更

すると、debconf の途中で、relayhost parameter の設定が出現。なんだろ、これ。外部リレーの際に、まとめて特定の MTA にリレーさせる設定かなぁ。
ほかに、listen するネットワークアドレス、メールボックスのサイズ、拡張アドレスのデリミタあたりを設定。
debconf 終了後に main.cf 確認したが、relayhost parameter の項目は、
relayhost = smtp.localdomain
になっていた。(↑デフォルトの値)

ついでなので(笑)、ほかの type も調べてみる。
Internet with smarthost を選択して、残りはデフォルト(というより Satellite system の時に選択したもの)で進めると、inet_interface が all に変わった。

まぁ、こんなとこです。

とりあえず、設定をちゃんとする。
# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = $myhostname
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = mail.example.org, cheddar, localhost.localdomain, localhost
myhostname = cheddar
mynetworks = 127.0.0.0/8 192.168.1.0/24
myorigin = /etc/mailname
recipient_delimiter = -
relayhost = 
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)

cheddar は 192.168.1.1/24 で、192.168.1.0/24 は LAN 側。外側はのネットワークからは繋がらないようにした。

って、インストールしたあとで気づいたけど、spamassassin って単にフィルタじゃん。MTA 関係なしに動くのね。しかも Perl か。
まぁいいや、Postfix 好きだし… メインコンテンツの Postfix の文書を sarge 用に書き直す材料だと思えば…orz

fetchmailエラー cannot get a range of message sizes
2005-08-20-4 / カテゴリ: [linux][command][POP3][メール] / [permlink]

ここ数日、メールが全く届かないからおかしいなぁと思っていたら(個人メールはなくても、ML と spam は届くはず...orz)、fetchmail がエラー吐いていた。(というか全然気づかんかった...)
$ 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:
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)
新しい Bug なのね。

というか
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に
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 秘密鍵。管理はしっかり!

fetchmail 実行時に、Received ヘッダを追記しない
2005-07-19-1 / カテゴリ: [linux][command][メール] / [permlink]

通常、fetchmail でメールを取り込むと、
Received: from mail.example.org [192.168.0.1]
        by localhost with POP3 (fetchmail-6.2.5)
        for zaki@localhost (single-drop); Fri, 15 Jul 2005 13:30:04 +0900 (JST)
みたいな Received ヘッダが追記される。

このとき、
set invisible
を .fetchmailrc に設定しておけば、このヘッダが追記されなくなる。
コマンドラインオプションは --invisible かな。

       --invisible オプション (キーワード: set invisible) は fetchmail を見 え
       なくしようとします。通常、fetchmail は他の MTA と同じように振舞います。
       つまり、送信の経路が記述されている Received ヘッダをメッセージ全てに 書
       き 込 み、転送先の MTA に、fetchmail そのものが実行されているマシンから
       メールが来たことを知らせます。 invisible オプションが有効である場合は、
       Received ヘッダは付けられず、fetchmail は転送先の MTA をだまして、メー
       ルがメールサーバのホストから直接届いたと思わせようとします。
man fetchmail より

APOP の実装
2005-07-17-5 / カテゴリ: [メール][POP3] / [permlink]

サーバの応答
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オクテットの値である。

SMTP-AUTH の実装
2005-07-17-4 / カテゴリ: [メール][SMTP] / [permlink]

メモ程度で実装じゃないけど^^;
CRAM-MD5 認証については、ぺるりめもダイジェスト2 cram-md5認証 (module)Digest-HMAC_MD5参照。

PLAIN 認証は
AUTH PLAIN base64-encoded-username-and-passwd
と、AUTH コマンドの引数に、"PLAIN" と base64 で符号化したユーザ名とパスワードを与える。
符号化の法則は
username\0username\0password
まぁ、こんな感じで。\0 は 0x00 のヌル文字。
% printf 'username\0username\0password' | mmencode

LOGIN 認証はもっと簡単に(<<はリクエスト、>>はレスポンス)
<<AUTH LOGIN
>>334 VXNlcm5hbWU6
<<VXNlcm5hbWU6
>>334 UGFzc3dvcmQ6
<<UGFzc3dvcmQ6
と、POP3 と似たような感じで、ユーザ名とパスワードを単に base64 エンコードしたデータを渡す。
ちなみに、"VXNlcm5hbWU6" は "Username: " を、"UGFzc3dvcmQ6" は "Password: " をエンコードしているだけ。
Referrer (Inside): [2006-02-26-1]

Vodafone のメールがスカイメールにならない条件
2005-07-17-2 / カテゴリ: [SMTP][メール][携帯] / [permlink]

本文文字数が192文字以内以外に、各ヘッダの文字数にも依存するみたい。件名だけはある程度の長さ以上(忘れた)だとスーパーメールになるのは知ってたけど。

http://developers.vodafone.jp/dp/tech_svc/mail/

Vodafone のメールの添付ファイル名の取得方法
2005-07-17-1 / カテゴリ: [SMTP][メール][携帯] / [permlink]

http://developers.vodafone.jp/dp/faq/faq.php#20_11
Q11: パソコンから添付ファイル付きのEメールをボーダフォン携帯電話に送信した場合、ボーダフォン携帯電話側で通知できない添付ファイルがあるのですが?
A11: ボーダフォンの仕様では、「Content-Typeのnameパラメータ」で添付ファイルを判断しています。「Content-Dispositionのnameパラメータ」では添付ファイルを判断していませんので、ご注意下さい。
あ、そうなんだ…。
ところで、Content-Disposition が持つファイル名のパラメタ名は filename だよな^^;

Mail::Sender でポート番号指定
2005-06-26-1 / カテゴリ: [SMTP][メール][programming][perl] / [permlink]

メールを送るのに便利な Mail::Sender だけど、ポートの指定ができない(25/tcp固定)ので、オブジェクトの作成時にポート指定できるようにするパッチ。
--- Sender.pm.org       2005-06-27 10:43:24.000000000 +0900
+++ Sender.pm   2005-06-27 10:43:24.000000000 +0900
@@ -811,7 +811,6 @@
        delete $self->{'_buffer'};
        $self->{'debug'} = 0;
        $self->{'proto'} = (getprotobyname('tcp'))[2];
-       $self->{'port'} = getservbyname('smtp', 'tcp')||25 if not defined $self->{'port'};
 
        $self->{'boundary'} = 'Message-Boundary-by-Mail-Sender-'.time();
        $self->{'multipart'} = 'mixed'; # default is multipart/mixed
@@ -838,6 +837,8 @@
                }
        }
 
+       $self->{'port'} = getservbyname('smtp', 'tcp')||25 if not defined $self->{'port'};
+
        $self->{'fromaddr'} = $self->{'from'};
        $self->{'replyaddr'} = $self->{'reply'};
まぁ、単純に、$self->{'port'} のセット位置を変更するだけなんだけど。
カテゴリ: メール / 1 2 次ページ

最終更新時間: 2013-05-02 16:12