回答:
伝統的に、Unix mail
および派生物(および他の多くのUnixツール)は、/usr/bin/sendmail
ほぼすべてのメール転送エージェント(MTA – postfix、exim、courier、およびもちろんsendmail)によって提供されるインターフェースを使用します。
つまり、mail
プログラムはネットワークプロトコルを一切使用せずsendmail
、標準入力経由でメッセージを送り、実際の配信を処理します。(これは、SMTPを使用するメール、UUCPを使用するメール、BITNETを使用するメール...に遡ります。
メッセージがを介してキューに入れられるsendmail
と、MTAは、SMTPまたは他の何かを介して、実際のメッセージ送信を処理します。構成に応じて、宛先MTAに直接接続するか、別のホスト(スマートホストとも呼ばれる)を介してメールを中継します。
サーバーでは、直接接続がより一般的です。スマートホストを介したリレーは、自宅の接続のパーソナルコンピューターでより一般的です。GmailまたはISP /職場の電子メールアカウントを介したリレーは、包括的な「動的IP」スパム対策フィルターを回避するために不可欠です。
(のようないくつかのMTA esmtp
かは、nullmailer
ホームユーザーのために特別に構築されており、常にこれらのメールの受信をサポートしていない。relayhostを使用して、リソースの多く軽いです。)
mailx→[/ usr / bin / sendmail]→ローカルMTAキュー→[SMTP]→受信者MTA→受信者受信ボックス
mailx→[/ usr / bin / sendmail]→ローカルMTAキュー→[SMTP]→GmailまたはISP /作業サーバー→[SMTP]→受信者MTA→受信者受信ボックス
他のプログラム、主にThunderbirdやOutlookなどのユーザーフレンドリーなグラフィカルクライアントは、常にリレー/スマートホストSMTPサーバー(再び、通常はGmailまたはISP /仕事用SMTPサーバー)に直接接続し、ユーザーに代わってメッセージを送信します。
ネイティブSMTPサポートは存在しますheirloom-mailx
が、伝統的なものにはありませんbsd-mailx
。
アプリ→[SMTP]→GmailまたはISP /作業サーバー→[SMTP]→受信者MTA→受信者受信ボックス
第三の方法-受信者のサーバーに直接接続するには-ほとんどされて決して使用しない、と何のMUAはそれをサポートしていません。パソコンでは、これを使用すると、メッセージが拒否されます(感染したホームユーザーのIPアドレスから多くのスパムが送信されます)。
アプリ→[SMTP]→受信者MTA→スパムフィルターでキャッチ
mailx
使用しないためです。私の回答の冒頭で説明したように、MTAを使用します。また、企業のインターネット接続を使用していない場合、PCから(リレーなしで)直接送信されたメールは破棄される可能性が非常に高くなります。
mailxはSMTPを使用できます。設定ファイルは〜/ .mailrcです
1つの例は、GmailのSMTPを使用したmailxです。
configureは1つのコマンドで行うこともできます。
mailx -v -s "$EMAIL_SUBJECT" \
-S smtp-use-starttls \
-S ssl-verify=ignore \
-S smtp-auth=login \
-S smtp=smtp://smtp.gmail.com:587 \
-S from="$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)" \
-S smtp-auth-user=$FROM_EMAIL_ADDRESS \
-S smtp-auth-password=$EMAIL_ACCOUNT_PASSWORD \
-S ssl-verify=ignore \
-S nss-config-dir=~/.mozilla/firefox/xxxxxxxx.default/ \
$TO_EMAIL_ADDRESS
通常のSMTPサーバーを使用する場合は、はるかに簡単です(詳細な紹介はこちらをご覧ください)。
mailx -v -s "$EMAIL_SUBJECT" \
-S smtp=smtp://smtp.example.com
-S from="$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)" \
$TO_EMAIL_ADDRESS
これらをmailxの構成ファイル〜/ .mailrcに入れることもできます
以下からのmailx(1)
manページ、説明のセクション、文字列オプションのサブセクション:
smtp Normally, mailx invokes sendmail(8) directly to transfer
messages. If the smtp variable is set, a SMTP connection
to the server specified by the value of this variable is
used instead.
sendmail
このオプションが設定されていない限り使用します。
sendmail / postixのようなローカルmtaのない代替手段があります。
debianパッケージssmtp
rpmの説明からの情報:
Summary : Extremely simple MTA to get mail off the system to a Mailhub
URL : http://packages.debian.org/stable/mail/ssmtp
License : GPLv2+
Description : A secure, effective and simple way of getting mail off a system to your mail
: hub. It contains no suid-binaries or other dangerous things - no mail spool
: to poke around in, and no daemons running in the background. Mail is simply
: forwarded to the configured mailhost. Extremely easy configuration.
hth
ステファン・K