まず、メッセージを作成する必要があります。最低限必要なものは、次の 2 つのヘッダーで構成されます:
MIME-Version: 1.0
Content-Type: text/html
... および適切なメッセージ本文:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title></title>
</head>
<body>
<p>Hello, world!</p>
</body>
</html>
取得したら、適切な情報を mail コマンドに渡すことができます:
body = '...'
echo $body | mail \
-a "From: [email protected]" \
-a "MIME-Version: 1.0" \
-a "Content-Type: text/html" \
-s "This is the subject" \
[email protected]
文字セット、エンコーディング、行の最大長も考慮する必要があるため、これは単純化しすぎた例ですが、基本的にはこれが考え方です。
または、プレーン シェルではなく、Perl または PHP でスクリプトを記述できます。
更新
シェル スクリプトは、基本的に、ファイルを渡す必要があるインタープリターをシェルに指示する shebang と呼ばれる行で始まる Unix の行末を持つテキスト ファイルであり、インタープリターが理解し、実行許可を持つ言語でいくつかのコマンドに従います (Unix では、それはファイル属性)。たとえば、以下を hello-world
として保存するとします。 :
#!/bin/sh
echo Hello, world!
次に、実行権限を割り当てます:
chmod +x hello-world
そして、ついに実行できます:
./hello-world
とにかく、これは元の質問とは無関係です。高度なタスクを実行する前に、基本的なシェル スクリプトに慣れておく必要があります。ここに bash に関するいくつかのリンクがあります 、人気のあるシェル:
http://www.gnu.org/software/bash/manual/html_node/index.html
http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html
これまでのところ、cmd linux で 2 つの簡単な方法を見つけました
<オール>
mail -s "$(echo -e "This is Subject\nContent-Type: text/html")" [email protected] < mytest.html
mutt -e "my_hdr Content-Type: text/html" [email protected] -s "subject" < mytest.html
タグには「sendmail」が含まれているため、それを使用したソリューションは次のとおりです:
(
echo "From: [email protected] "
echo "To: [email protected] "
echo "MIME-Version: 1.0"
echo "Content-Type: multipart/alternative; "
echo ' boundary="some.unique.value.ABC123/server.xyz.com"'
echo "Subject: Test HTML e-mail."
echo ""
echo "This is a MIME-encapsulated message"
echo ""
echo "--some.unique.value.ABC123/server.xyz.com"
echo "Content-Type: text/html"
echo ""
echo "<html>
<head>
<title>HTML E-mail</title>
</head>
<body>
<a href='http://www.google.com'>Click Here</a>
</body>
</html>"
echo "------some.unique.value.ABC123/server.xyz.com--"
) | sendmail -t
mutt などの sendmail のラッパーを使用すると、この作業が簡単になります。
mutt -e 'set content_type="text/html"' [email protected] -s "subject" < message.html