web-dev-qa-db-ja.com

/ usr / bin / mailが$ HOME / .mailrcのエイリアスを無視する理由

コマンドライン(Ubuntu 13.04 64ビット)で/ usr/bin/mailを使用してメールを送信する場合、.mailrcファイルのエイリアスに注意を払っていません。誰もこれを修正する方法を知っていますか?

問題を再現するには:

  1. エイリアスを$ HOME/.mailrcに配置します

    エイリアスfoo [email protected]

  2. エイリアスをメールで送信してください:

    $ echoこんにちは|/usr/bin/mail -sテストfoo

  3. /var/log/mail.logを読み取り、不明なユーザーとして「foo」バウンスを確認します。

    9月7日11:15:39 mycomputer postfix/local [9707]:EE038F6028B:to = <[email protected]>、relay = local、delay = 0.1、delays = 0.07/0/0/0.03、dsn = 5.1.1 、status = bounced(不明なユーザー: "foo")

ただし、Emacs VMなどの他のメールプログラムは、$ HOME/.mailrcのエイリアスを尊重します。

これは、以前のシステムであるUbuntu 10.04 LTSでは発生しませんでした。

さらなる調査で...私は走った:

$ mail -f mymailbox
? alias foo
foo        [email protected]

/ usr/bin/mailは実際に$ HOME/.mailrcを処理していますが、どういうわけか、「mail」はエイリアス「foo」を知っていても、postfixは「[email protected]」ではなく「[email protected]」エイリアス展開。メール(GNU mailutils)またはpostfixの設定が間違っているのかわかりません。

4
DanB

やった:

Sudo apt-get install bsd-mailx

そして問題はなくなりました。 bsd-mailxが提供するメールプログラムは.mailrcエイリアスをサポートしていますが、mailutilsのエイリアスはサポートしていないようです。

上記のコメントでこのソリューションに導いてくれたmdpc( https://askubuntu.com/users/5863/mdpc )に感謝します。

3
DanB

私の回想から....メールプログラムは必要最低限​​のローカルメール配信エージェントであり、通常はsendmailなどのプログラムから呼び出されます。 mailxプログラムは、より多くのホイッスルとベルを備えた、よりユーザーフレンドリーなプログラムであることがわかりました。私が思い出すなら、mailxは利用可能であり、ほぼすべてのLinux/UNIXシステムで使用できます。

Solaris時代には、mailx over mailを使用する習慣がありました。

2
mdpc

Sudo apt-get install mailutilsなどを使用してメールサーバーをインストールし、エイリアスファイルを作成したら、システムにエイリアス設定のハッシュファイルを読み取らせて作成する必要があります。

Sudo newaliases

後で上記のコマンドを実行せずにaliasesファイルを変更しても、システムに変更は加えられません。

これは post が質問に関連している可能性があります。

1
Stanislav