procmail について教えて下さい.
procmail で処理したメールのヘッダに
From sa...@beam.kisarazu.ac.jp Tue Dec 1 20:39:06 2009
のような行が追加されます.これは .forward でのprocmail の呼び出し
に関係していることが判りました.
.forward は以下の記述です.
"| IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #saito"
-f の後ろの文字列でアドレス部分を変化させることはできますが,
そもそもこのFrom 行を抑制することはできるのでしょうか.
メーラーでまっとうなFrom: がつくので,不要なのです.
この行が追加されるせいで,メールをinn2 のネットニュースに投稿
するときにエラーが生じます.逃げとして,投稿するperl スクリプトで
コロンなしのFrom 行を
/^From /
で見つけて捨てる(投稿する記事のヘッダに記述しない)ようにして
いますが,どうにも気持ち悪いです.
# ~/Mail/inbox に保存するようにしたメールにも,この変なFrom が
# 付きますし….
よろしくお願い申し上げます.
--
Yasuyuki SAITO
「From: 」がメールの配送制御に関わるヘッダであるのに対し、
「From 」はメールをローカルに保存管理するためのヘッダです。
ですから、「From: 」についてはSMTPの一環として
RFCなどの厳格な手続きで細かく定められているのに対し、
「From 」は個々の機器の中で矛盾無く扱えば良いので、
マトモな標準が無いようです。
#「標準が存在しない」ということについては、下記を参照しました。
#電子メールプロトコル―基本・実装・運用 p.114~118
#David Wood(大川佳織訳)オーム社 ISBN4-87311-028-9
つまり「unix流のmbox形式」で管理している限り「From 」は必須です。
やめたければ、「メールをローカルに保存管理するためのファイル形式」を
変えるしかありません。(例えばMHとかMaildirとか)
逆に言えば、この形式のメール保存管理ファイルからメールを取り出して、
SMTPヘッダを活用するような方法で外部へ送信しようとする場合には、
「From 」行は当然に削除せねばなりません。
従って、
> この行が追加されるせいで,メールをinn2 のネットニュースに投稿
>するときにエラーが生じます.逃げとして,投稿するperl スクリプトで
>コロンなしのFrom 行を
> /^From /
>で見つけて捨てる(投稿する記事のヘッダに記述しない)ようにして
>いますが,どうにも気持ち悪いです.
というのは「逃げ」などでは決してなく、
どうしても必要な最小限の処理なのです。
戸田 孝@滋賀県立琵琶湖博物館
to...@lbm.go.jp
リプライありがとうございます.
メールの保存管理はMH です.procmail を使うと,個々のメール
ファイルにコロンなしのFromがつきます.
ともかく,私が「逃げ」と思っていたことが「必要」ということで
了解しました.
ありがとうございました.
今までslocal を使っていたのですが,いろいろあってprocmail に
乗り換え始めたところでした.
--
Yasuyuki SAITO
‐‐‐‐‐
At Wed, 2 Dec 2009 01:14:09 GMT,
> メールの保存管理はMH です.
ということですので、procmailに「MH形式」でメールを保存管理するよう
指示すれば、ご希望に沿う結果になるのではないでしょうか?
procmailを使ったことは全く無いので、
とりあえずgoogleで「procmail ファイル形式」というキーワードで検索して
上位に出たページを斜め読みしてみたところ、
保存先として「ファイル」を指定するか「ディレクトリ」を指定するかで
「unix流のmbox形式」と「MH形式」のどちらかを選択する
仕様になっているように読めました。
確実なことは御自身で御確認のうえ試してみられれば良いかと思います。
戸田 孝@滋賀県立琵琶湖博物館
to...@lbm.go.jp
At Wed, 2 Dec 2009 09:36:44 GMT,
to...@lbm.go.jp wrote:
>
> In article <86hbsahwn1.wl%sa...@j.kisarazu.ac.jp> sa...@beam.kisarazu.ac.jp writes:
> > ともかく,私が「逃げ」と思っていたことが「必要」ということで
> >了解しました.
> 「必要」なのは、あくまで
> >> 「unix流のmbox形式」で管理している限り
> という条件の下での話です。
>
> > メールの保存管理はMH です.
> ということですので、procmailに「MH形式」でメールを保存管理するよう
> 指示すれば、ご希望に沿う結果になるのではないでしょうか?
mbox 形式は最初から使っていません.もちろん,MH で管理している
個々のメールファイルには,前述の通り,全て件の「From 」がついて
います.
ともかく,メール→記事投稿がエラーにならないような回避策は当初
からできておりますので,本件はこれにて終了とさせて頂きます.
どうもありがとうございました.
--
Yasuyuki SAITO
In article <0912040108...@beam.beam.kisarazu.ac.jp>, sa...@beam.kisarazu.ac.jp (Yasuyuki SAITO) writes
> こんばんは.齋藤@木更津高専・情報工学科です.
> mbox 形式は最初から使っていません.もちろん,MH で管理している
> 個々のメールファイルには,前述の通り,全て件の「From 」がついて
> います.
僕も*まだ*MH使ってますが、inbox 下のファイルには、'From ' は
ついてません。
MHで、'From 'を付加するのは、MHのrmailを使ったか、MHMTS/MMDF/MMUUでconfig
した場合だけのようです。
ってわけで、procmail かな~ 僕は、procmail は使ってません。
uip/post.c: (void) sprintf (buffer, "From %s %.24s remote from %s\n",
uip/rmail.c: fprintf (out, "From %s %s\n", from, date);
zotnet/mf/mmdfI/src/uucp/qu2uu_send.c: sprintf (mf_from, "From %s %.24s remote from %s\n",
zotnet/mf/mmdfI/src/uucp/rmail.c: fprintf (out, "From %s %s\n", from, date);
zotnet/mf/mmuu.c: fprintf (out, "From %s %s remote from %s\n", cp, date, from);
zotnet/mf/mmuu.c: fprintf (out, "From %s %s\n", from, date);
zotnet/mf/mmuu.c: fprintf (out, "From %s %s\nSubject: %s %s\n\n",
version: MH 6.8.3.JP-pre3.05-20010615 #86[UCI] (xxxx.ie.u-ryukyu.ac.jp) of Mon Aug 28 17:26:33 JST 2006
options: [APOP] [ATHENA] [BIND] [BSD42] [BSD43] [BSD44] [DBMPWD] [DUMB]
[FOLDPROT='"0700"'] [GCOS_HACK] [ISI] [JAPAN] [MHE] [MHRC]
[MH_PLUS] [MIME] [MIME_HEADERS]
[MORE='"/Users/kono/bin/jless"'] [MSGPROT='"0600"'] [NNTP]
[NORUSERPASS] [NTOHLSWAP] [OVERHEAD] [POP]
[POPSERVICE='"pop3"'] [POSIX] [READLINE] [RPATHS]
[SBACKUP='"#"'] [SENDMTS] [SMTP] [SYS5DIR] [TYPESIG=void]
[UNISTD] [VSPRINTF] [WAITINT] [WHATNOW] [ZONEINFO]
です。
---
Shinji KONO @ Information Engineering, University of the Ryukyus
河野真治 @ 琉球大学工学部情報工学科
終了するつもりでしたが….
At Tue, 8 Dec 2009 02:19:44 +0000 (UTC),
Shinji KONO wrote:
>
> 河野真治 @ 琉球大学情報工学です。
>
> In article <0912040108...@beam.beam.kisarazu.ac.jp>, sa...@beam.kisarazu.ac.jp (Yasuyuki SAITO) writes
> > こんばんは.齋藤@木更津高専・情報工学科です.
> > mbox 形式は最初から使っていません.もちろん,MH で管理している
> > 個々のメールファイルには,前述の通り,全て件の「From 」がついて
> > います.
>
> 僕も*まだ*MH使ってますが、inbox 下のファイルには、'From ' は
> ついてません。
はい,これまで10年以上slocal を使って .maildelivery で分岐させて
rcvstore で保存しておりましたが,「From 」はついていませんでした.
メール → inn2 への自動投稿も,もちろん問題ありませんでした.
> MHで、'From 'を付加するのは、MHのrmailを使ったか、MHMTS/MMDF/MMUUでconfig
> した場合だけのようです。
>
> ってわけで、procmail かな~ 僕は、procmail は使ってません。
procmail で処理すると「From 」がつくようになっているように
感じます.
# 本当は違う/何か方法があるのかもしれませんが?
--
Yasuyuki SAITO
> procmail で処理すると「From 」がつくようになっているように
> 感じます.
> # 本当は違う/何か方法があるのかもしれませんが?
procmail の起動オプションはどうなっていますか?
"-d <ユーザ名>" オプションを付けて起動するか、
プログラム名が "procmail" となっていない
場合に "From " 行が付くらしいです(
<http://www.linux.or.jp/JM/html/procmail/man1/procmail.1.html>
の「その他」のあたり)。
At Wed, 09 Dec 2009 10:13:13 +0900,
どうもありがとうございます.~/.forward には
"|IFS=' ' && exec /usr/bin/procmail || exit 75 #saito"
と書いています.オプションは特につけていません.Web page でよく
目にするのは -f- ですが,
-f fromwhom
fromwhom を送信者(sender)にして、先頭の `From ' 行を再作成する (-f の代わり
に、今では使われなくなっているが -r が使用できる)。 fromwhom が `-' 1個だけ
の場合、procmail は `From ' 行のタイムスタンプの更新のみ行う (これはタイム
スタンプが存在する場合である。なければ新たに作成する)。
ですので無関係だと思います.また,御提示頂いた「その他」には
明示的配送モードで使用される配送先のユーザ名が /etc/passwd になければ、
procmail は明示的配送モードになっていなかったものとして処理を継続する。明示的配
送モードになっておらず、且つ実行中の procmail の uid に対応する /etc/passwd エ
ントリがない場合、HOME , LOGNAME , SHELL 及び ORGMAIL の各変数のデフォルト値は
、それぞれ / , #uid , /bin/sh , /tmp/dead.letter になる。
とあります./etc/passwd にユーザのエントリ(saito)はあるので,
「明示的転送モード」だと思います.また,この下のすぐ説明に
明示的配送モードの時、メッセージヘッダの先頭に `From ' 行がない場合、procmail
はこれを生成する。 `From '行が既にある場合は、 procmail はそれには手を付けずに
そのまま残す。 procmail を起動したユーザのユーザ或はグループ ID が root,
daemon, uucp, mail, x400, network, list, slist, lists or news のいずれでもなく
、それでも新しい `From ' 行を生成ないし受け入れる必要がある場合は、偽造メールと
区別しやすくするために procmail は `>From ' 行を追加する。
ともありますので,どの状況でも「From 」がつくように読めます.なお,
$ ls -l /usr/bin/procmail
-rwsr-sr-x 1 root mail 72544 2006-05-01 04:34 /usr/bin/procmail
です.それから,
-o 誰にも `From ' 行の生成を許可させないで、単に偽物を上書きする。
についても以前試しておりますが,改めて試して確認しました.やはり
「From 」が付きました.
## まだ何か勘違いしているのでしょうか?
--
Yasuyuki SAITO
どうもありがとうございます.~/.forward には
です.それから,
--
Yasuyuki SAITO
--- news://freenews.netfront.net/ - complaints: ne...@netfront.net ---