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 設定
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データと設定は使いまわせた。
もはや基本は無視して
debian のデータから ~/spamassassin をごっそりコピーしてくる。
んで、.fetchmailrc と .procmailrc を設定してメールを pop する。
受信完了まで3時間もかかりやがった… Pen M 1.73 GHz ってこんなもん??
あとは wanderlust か。
centos の spamassassin のバージョンは 3.0.4
debian とほぼ同じだな。結果から言うと、仕込んだspamデータと設定は使いまわせた。
もはや基本は無視して
$ spamassassin --lintで、~/.spamassassin を作成
debian のデータから ~/spamassassin をごっそりコピーしてくる。
んで、.fetchmailrc と .procmailrc を設定してメールを pop する。
受信完了まで3時間もかかりやがった… Pen M 1.73 GHz ってこんなもん??
あとは wanderlust か。
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 の
検索フォルダの設定はメニューの[編集(E)]->[メッセージを検索(S)]の検索ウインドウを出し、[検索フォルダとして保存(S)]すればOK
(ただし、Mail以下にキャッシュ用のフォルダが作成される)
外部コマンドで「メールの受信」を設定できないのはWin版の仕様なのかなぁ。fetchmail使いたいんだけどなぁ。
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
procmailrc でメールの保存先
2005-12-21-1 / カテゴリ: [linux][メール][command] / [permlink]
/. で終わる ... MH 形式
/ で終わる ... Maildir 形式
.procmailrc によるフォルダ振り分けは、あらかじめ対象フォルダを準備しておかないと NG
Maildir の場合は、配下の new/cur/tmp は勝手にできる。
/ で終わる ... 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 の通りに
どうやら、デフォルトで bayesian フィルタを使うようになっているようだ。設定項目のリストおよびデフォルト値は
で、とりあえず、手元の spam さんたちを spam 扱いとして DB に突っ込む。
更新された DB ファイルは
ディレクトリでなく、ファイル指定も OK みたい。
逆に、非 spam メールは --ham 指定で sa-learn を実行
とりあえず、これだけセットして、.procmailrc で fetch と同時にフィルタリングするよう設定
でもって、ケータイから1通メールを送ってみると、ヘッダにちゃんとチェック結果が追記されていた。
で、セット後数時間経過したら、ちょーど spam がキタ
BAYES_99 がベイジアンフィルタでのチェック結果ぽいな。
これから spam くるのが楽しみだ(本末転倒)
しっかし、結果として spam 認定したときのプロセスの実行がすげー重い… 十数秒はかかる。やっぱチューニング必要なのかなぁ…
設定リストメモ
http://spamassassin.apache.org/tests_3_0_x.html
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)2つのファイルができた。
bayes_toks: Berkeley DB (Hash, version 8, native byte-order)
どうやら、デフォルトで 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 現在)
debconf はなし。
メッセージに
動かすためには
うーん、次に何をすればよいのやら…
ユーザ用の実行ファイルは dpkg -L を見た感じでは /usr/bin/spamassassin と /usr/bin/spamc の2つ。man をさらっと見た限りでは spamc は smapd (daemon) とおしゃべりするコマンドかな。spamassassin がフィルタぽい。
よくわからんので、とりあえず
すると
とりあえず動作に影響がでなさそうなオプションで
-L は local test mode でサーバと接続しない(?)
で、結果は stdout に吐かれて、ヘッダの最後に
デフォルトだと、points(3.0になってる値)が5.0を超えると spam 判定されるようだ。でもって、spam 扱いになると、multipart メールになって、警告文が追加される。
Subject の書き換え("[spam]"の追加等)は
ヘッダの追加は許すが、ヘッダの書き換え・本文の書き換えは個人的にキライ。
現在の判定材料は NO_REAL_NAME, SUBJ_ILLEGAL_CHARS のみ(?)ってことかね。
って、よくみたら、/usr/share/doc/spamassassin/USAGE.gz が。
まずは
うーん、結構チューニングが面倒か?
って、ベイジアンフィルタはどうすんだ?
きっと続く。
# 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現在)
で、まぁ
外向け(外からの受信/外への配送)に動かす気はないので、とりあえず debconf はほぼ全部デフォで。
General type of configuration は Local only にした。ドメインだけは、ちゃんと設定。
まぁ、ほとんどPostfix + qpopper見ながら設定。あとはmain.cf 和訳
あれ? ローカルオンリーにしたいんだったら、何も設定することがない…
しかも
これじゃ面白くないので、予定変更。
すると、debconf の途中で、relayhost parameter の設定が出現。なんだろ、これ。外部リレーの際に、まとめて特定の MTA にリレーさせる設定かなぁ。
ほかに、listen するネットワークアドレス、メールボックスのサイズ、拡張アドレスのデリミタあたりを設定。
debconf 終了後に main.cf 確認したが、relayhost parameter の項目は、
ついでなので(笑)、ほかの type も調べてみる。
Internet with smarthost を選択して、残りはデフォルト(というより Satellite system の時に選択したもの)で進めると、inet_interface が all に変わった。
まぁ、こんなとこです。
とりあえず、設定をちゃんとする。
cheddar は 192.168.1.1/24 で、192.168.1.0/24 は LAN 側。外側はのネットワークからは繋がらないようにした。
って、インストールしたあとで気づいたけど、spamassassin って単にフィルタじゃん。MTA 関係なしに動くのね。しかも Perl か。
まぁいいや、Postfix 好きだし… メインコンテンツの Postfix の文書を sarge 用に書き直す材料だと思えば…orz
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 がエラー吐いていた。(というか全然気づかんかった...)
で、調べてみると、
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 秘密鍵。管理はしっかり!
fetchmail 実行時に、Received ヘッダを追記しない
2005-07-19-1 / カテゴリ: [linux][command][メール] / [permlink]
通常、fetchmail でメールを取り込むと、
このとき、
コマンドラインオプションは --invisible かな。
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 を見 えman fetchmail より
なくしようとします。通常、fetchmail は他の MTA と同じように振舞います。
つまり、送信の経路が記述されている Received ヘッダをメッセージ全てに 書
き 込 み、転送先の MTA に、fetchmail そのものが実行されているマシンから
メールが来たことを知らせます。 invisible オプションが有効である場合は、
Received ヘッダは付けられず、fetchmail は転送先の MTA をだまして、メー
ルがメールサーバのホストから直接届いたと思わせようとします。
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オクテットの値である。
SMTP-AUTH の実装
2005-07-17-4 / カテゴリ: [メール][SMTP] / [permlink]
メモ程度で実装じゃないけど^^;
CRAM-MD5 認証については、ぺるりめものダイジェスト2 cram-md5認証 (module)Digest-HMAC_MD5参照。
PLAIN 認証は
符号化の法則は
LOGIN 認証はもっと簡単に(<<はリクエスト、>>はレスポンス)
ちなみに、"VXNlcm5hbWU6" は "Username: " を、"UGFzc3dvcmQ6" は "Password: " をエンコードしているだけ。
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/
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
ところで、Content-Disposition が持つファイル名のパラメタ名は filename だよな^^;
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'} のセット位置を変更するだけなんだけど。
最終更新時間: 2013-05-02 16:12