mail -s "subject" [email protected] <test.html
うまくいきますが、プレーンテキストの電子メールにのみ適用されます。
Linuxコマンドを使用してHTMLメールを送信する正しい方法は何ですかmail
?
ベストアンサー1
周辺にはさまざまなバージョンがありますmail
。超越する時mail -s subject to1@address1 to2@address2 <body
(送ればそれだよ)POSIX保証 --s
存在しません。過去)、コマンドラインオプションが異なる場合が多いです。追加のヘッダーを追加することは必ずしも簡単ではありません。
mailx
以下のいくつかの実装を通じてmailutils
UbuntuからまたはDebianbsd-mailx
、オプションがあるので簡単です。mailx -a 'Content-Type: text/html' -s "Subject" to@address <test.html
とともに家族家宝
mailx
、便利な方法はありません。任意のヘッダーを挿入する1つの方法は、editheaders=1
外部エディタ(スクリプトでも可能)を設定して使用することです。## Prepare a temporary script that will serve as an editor. ## This script will be passed to ed. temp_script=$(mktemp) cat <<'EOF' >>"$temp_script" 1a Content-Type: text/html . $r test.html w q EOF ## Call mailx, and tell it to invoke the editor script EDITOR="ed -s $temp_script" heirloom-mailx -S editheaders=1 -s "Subject" to@address <<EOF ~e . EOF rm -f "$temp_script"
一般とともにPOSIX
mailx
、タイトルを取得する方法がわからない。
使用したりmail
覚えてmailx
いる場合
- これは、特定のLinuxディストリビューション内でも移植可能ではありません。たとえば、UbuntuとDebianにはさまざまな
mail
選択肢がありますmailx
。 - メッセージを作成するときから始まる行は
mail
コマンドmailx
と見なされます~
。にテキストをパイプする場合は、mail
テキストにで始まる行が含まれないようにソートする必要があります~
。
とにかくソフトウェアをインストールするには、mail
//よりMail
予測可能なものをインストールすることをお勧めしますmailx
。例えば、愚か。 Muttを使用すると、次のオプションを使用して入力にほとんどのヘッダーを提供できます-H
。しかし、Content-Type
、muttオプションで設定する必要があります。
mutt -e 'set content_type=text/html' -s 'hello' 'to@address' <test.html
または電話してもいいです。sendmail
まっすぐ。複数のバージョンがありますが、sendmail
すべてsendmail -t
電子メールから受信者のリストを読む最も簡単な方法で電子メールを送信することをサポートしています。 (私はそれらがすべてそれをサポートしているとは思わないBcc:
。)ほとんどのシステムではsendmail
一般的なシステムではない$PATH
が、または。/usr/sbin
/usr/lib
cat <<'EOF' - test.html | /usr/sbin/sendmail -t
To: to@address
Subject: hello
Content-Type: text/html
EOF