Postfix(7)at UNIXPostfix(7) - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト950:名無しさん@お腹いっぱい。 08/10/11 14:39:41 recipient_canonical_maps で pcreテーブルを使って abc@example.com を abc+abc=example.com@example.com のように変換したいんだけど、再帰的に処理されて無限ループしちゃうんだけど なんとかならぬものか?一回だけ変換して星いの。 951:名無しさん@お腹いっぱい。 08/10/11 21:39:53 >>950 一回だけmatchすればいいなら↓でいいんじゃね? /([^+=@]+)@(example.com)/ abc+${1}=${2}@example.com 952:名無しさん@お腹いっぱい。 08/10/12 00:27:49 >>951 recipient_canonical_maps に限らないけど、アドレスを比較するときには user+ext@domain user@domain user+ext user の順にマッチングが試されるじゃない。 abc@example.com を abc+abc=example.com@example.com に変換すると 再度 (+abc=example.com と外して)abc@example.comでマッチングを試して 変換したら、外してあった+abc=example.comを戻すので abc@example.com → abc+abc=example.com@example.com abc+abc=example.com@example.com → abc+abc=example.com+abc=example.com@example.com のように何度も繰り返されちゃうんですわ。 if !/@nomre$/ /([^+=@]+)@(example.com)/ ${1}+${1}=${2}@${2}@nomore endif みたいにすれば、一回で止まると思うんだけど、余分な@nomoreをどこで外せばいいのやら。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch