mailx は SMTP を使用できます。構成ファイルは ~/.mailrc です
一例は、Gmail の SMTP を使用する mailx です。
構成は 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 に入れることもできます
伝統的に、Unix mail
および派生物 (および他の多くの Unix ツール) は /usr/bin/sendmail
を使用します ほとんどすべてのメール転送エージェント (MTA – postfix、exim、courier、そしてもちろん sendmail) によって提供されるインターフェース。
つまり、mail
プログラムは、ネットワーク プロトコルをまったく認識しません。メッセージを sendmail
に送ります。 標準入力経由で、実際の配信を処理できるようにします。 (これは、一部のメールが SMTP を使用し、一部が UUCP を使用し、一部が BITNET を使用していた時代にまでさかのぼります...)
メッセージが sendmail
を介してキューに入れられると、 、MTA は、SMTP またはその他の方法を使用して、実際のメッセージ送信を処理します。構成に応じて、宛先 MTA に直接接続するか、別のホスト (スマートホストとも呼ばれます) を介してメールを中継することができます。
サーバーでは、直接接続がより一般的です。スマートホストを介したリレーは、自宅接続のパーソナル コンピュータでより一般的です。包括的な「動的 IP」アンチスパム フィルタを回避するには、Gmail または ISP/仕事用メール アカウントを介したリレーが不可欠です。
(esmtp
などの一部の MTA または nullmailer
ホーム ユーザー向けに特別に構築されており、常に リレーホストを使用します。これらはメールの受信をサポートしておらず、リソースがはるかに軽量です。)
mailx → [/usr/bin/sendmail] → local MTA queue → [SMTP] → recipient MTA → recipient inbox
mailx → [/usr/bin/sendmail] → local MTA queue → [SMTP] → Gmail or ISP/work servers → [SMTP] → recipient MTA → recipient inbox
その他のプログラム、主に Thunderbird や Outlook などの使いやすいグラフィカル クライアントは常に リレー/スマートホスト SMTP サーバー (ここでも、通常は Gmail または ISP/仕事用 SMTP サーバー) に直接接続し、あなたに代わってメッセージを送信します。
ネイティブ SMTP サポートは heirloom-mailx
にあります 、しかし従来の bsd-mailx
にはありません .
app → [SMTP] → Gmail or ISP/work servers → [SMTP] → recipient MTA → recipient inbox
受信者のサーバーに直接接続する 3 番目の方法は、ほとんど決してありません。 使用されており、MUA はそれをサポートしていません。パーソナル コンピューターでこれを使用すると、メッセージが拒否される可能性があります (感染したホーム ユーザーの IP アドレスから多くのスパムが送信されます)。
app → [SMTP] → recipient MTA → caught by the spam filter
mailx(1)
から man ページ、DESCRIPTION セクション、文字列オプション サブセクション:
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.