web-dev-qa-db-ja.com

メールとmailxの違いは?

Mailとmailxの違いは何ですか?

これでサーバーAからメールを送信できるという問題をトラブルシューティングしようとしていますecho $MESSAGE | mail -s "$SUBJECT" -r $FROM $RECIPIENTSコマンドですが、サーバーBから同じコマンドを実行すると、このエラーがスローされます(どちらのサーバーもRHELです)

mail: invalid option -- r
Usage: mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr ...
            [-- sendmail-options ...]
       mail [-iInNv] -f [name]
       mail [-iInNv] [-u user]

さて...何が起こっているのかを理解するために、メールのマンページをtyに読み、man mailはこれを私に与えます:

サーバーA

MAILX(1)                         User Commands                        MAILX(1)

NAME
       mailx - send and receive Internet mail

SYNOPSIS
       mailx [-BDdEFintv~] [-s subject] [-a attachment ] [-c cc-addr] [-b bcc-addr] [-r from-addr] [-h Hops]
              [-A account] [-S variable[=value]] to-addr . . .
       mailx [-BDdeEHiInNRv~] [-T name] [-A account] [-S variable[=value]] -f [name]
       mailx [-BDdeEinNRv~] [-A account] [-S variable[=value]] [-u user]

しかしサーバーBでは

MAIL(1)                   BSD General Commands Manual                  MAIL(1)

NAME
     mail - send and receive mail

SYNOPSIS
     mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr... [-- sendmail-options...]
     mail [-iInNv] -f [name]
     mail [-iInNv] [-u user]

今... man mailxサーバーBで取得:

MAILX(P)                   POSIX Programmerâs Manual                  MAILX(P)

PROLOG
       This manual page is part of the POSIX Programmerâs Manual.  The Linux implementation of this interface may differ
       (consult the corresponding Linux manual page for details of Linux behavior), or the interface may not  be  imple-
       mented on Linux.

NAME
       mailx - process messages

SYNOPSIS
   Send Mode
              mailx [-s subject] address...

   Receive Mode
              mailx -e

              mailx [-HiNn][-F][-u user]

              mailx -f[-HiNn][-F][file]

サーバーBにはサーバーAとは異なるバージョンのメールがありますか? MailxとMailは別物ですか?サーバーAで使用している-rオプションを使用したいのですが、サーバーBで何が起こっているのか本当にわかりません。

15
Rhyuk

mail、nail、mailx の紛らわしい履歴を見てください。

簡単に言うと、mailは古いプログラムであり、mailx(一部の実装では以前はnail)は新しいバージョンであり、ほとんど互換性のない拡張インターフェースが拡張されています。

mailxはまだかなり古く、1986年頃に作成され、1992年にPOSIXの一部として標準化されました。いくつかの実装(最新のLinuxでも)があり、一部は標準への拡張を提供しています。

-rオプションはそのような拡張機能の1つです。 Linuxディストリビューション、およびインストールしたメールパッケージに応じて、そのオプションがある場合とない場合があります。例 ここ を参照してください。

移植可能なスクリプトを作成する場合は、それに依存しない方がよいでしょう。

14
leonbloy