2010年3月29日

[postfix-jp: 3762] Re:[FYI] mailq に溜っているメールを無理矢理 Maildir 形式に変換

岩本といいます。

On Fri, 26 Mar 2010 12:22:57 +0900
YAMAGUCHI Takanori <y@xxxxx> wrote:

> postfix にかぎらず MTA 全般において、キューを人間が直接いじるのは
> 内部構造によほど詳しくないかぎりやめておいた方がいいです。
> キューの読み書きは手順を正しく守ってやらないとメールが壊れるかもしれません。

> どうしても手でいじる必要があっても、最低限 MTA の制御が及ばないところに
> 移動してからにすべきです(postfix なら postsuper -h で hold キューに移す)。

一般論としてはその通りだと思いますが、[postfix-jp: 3757] で書かれた手順では
メールの内容を取り出すのに postcat を使っていますし、削除も postsuper を
使っていますので、それほど危険ではないように思います。

それよりは、Maildir への置き方の方が気になります。
Maildir への配送時にはロックが必要ないというのは、すべてのプログラム等が
Maildir の仕様に従ったファイル名を付ける事が前提なので、今回の手順のように
独自のファイル名を付けるというのはちょっと気持ちが悪いです。
# おそらくは問題にはならないでしょうけれど


> hoge というユーザが fuga@xxxxx に転送しようとして
> キューにたまったメールを hoge 本来のメールボックスに落とすには
> 以下のようにすればいいです。
>
> -- transport
> fuga@xxxxx local:
> -- aliases
> fuga: hoge

最初(forward前)に hoge へ配送された時に Delivered-To ヘッダが付加されるので、
この手順では alias で再度 hoge に配送する時にループを検出してバウンスします。
Postfix に local 配送させる為には、どうにかして Delivered-To ヘッダを削除する
必要があります。

それよりは、

> ユーザ hoge とも fuga@xxxxx とも別に fuga というローカルユーザが
> 存在している場合や、hoge が unix アカウントではなく仮想アカウントの場合は、
> procmail や maildrop、あるいは dovecot をお使いなら dovecot devliver で
> そのユーザのメールボックスに落としこむような transport を master.cf で
> 定義してやって、tranport_maps で local: のかわりに指定してやればいいです。

こっちの procmail や deliver 等で配送させる方法の方が楽だと思います。

--
いわもと こういち(sue@xxxxx/sue@xxxxx/sue@xxxxx)
# なるようになれ、明日もイケイケ♪

_______________________________________________
Postfix-jp-list mailing list
Postfix-jp-list@xxxxx
http://lists.sourceforge.jp/mailman/listinfo/postfix-jp-list


投稿者 xml-rpc : 2010年3月29日 17:59
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/94660
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。