.forwardの詳細を維持するためにsendmailを取得する方法は?

.forwardの詳細を維持するためにsendmailを取得する方法は?

通常のsendmailインストールがあります。あるユーザーは.forward次のユーザーを持っています。

# cat ~elrond/.forward
elrond@somewhere
# sendmail -bv elrond+extra@localhost
elrond@somewhere...  deliverable: mailer esmtp, host somewhere., user elrond@somewhere

+extra欠落しているので注意してください。

+extraこれを維持するには何を変更する必要がありますか?一般的な%3ハッシュマップは.forward

ベストアンサー1

努力するFEATURE(preserve_local_plus_detail)ファイルに入れて.mcから書き直すと、.cfルールセット5(localaddr)が変更されます。副作用が発生する可能性があります(たとえば、ローカルメールプログラムが+ verboseをサポートしていない場合など)。

これがエイリアス照会に悪影響を及ぼす場合、おそらく_FFR_ALIAS_DETAILこれはビルド時間(つまりではない.cf)オプションですが、テストしたとは言えません。お勧めしません。 ;-)

失敗した場合は、ユーザー制御ファイルだけで要求された操作を実行する唯一の方法は、埋め込みインクルードコンポーネントへの.forwardパスを確認することです。 8.12以降では、これはデフォルト値でなければなりません。confFORWARD_PATH$h

O ForwardPath=$z/.forward.$w+$h:$z/.forward+$h:$z/.forward.$w:$z/.forward

~/.forward.extraこれにより、ユーザーは電子メールが「ユーザー+追加」アドレスに移動するコントロールを作成できます。

$ sendmail -v -d27.2  -bv elrond+foo 
alias(elrond+foo)
alias(elrond+*)
alias(elrond)
alias(elrond)
forward(elrond+foo)
include(/home/elrond/.forward.thishost+foo)
include(/home/elrond/.forward+foo)
include(/home/elrond/.forward.thishost)
include(/home/elrond/.forward)
elrond+foo... deliverable: mailer local, host foo, user elrond

(関数がファイル転送を処理していることがわかりますinclude()。ファイルを読むときに拡張の概念はありません。)

FEATURE(virtusertable)おそらくより良いアプローチが他の場所で提案されているように、スクリプトタイプの場合は、定期的にユーザー~/.xforwardファイルを収集し、デフォルトのダミーユーザーテーブルを構築できます。

おすすめ記事