web-dev-qa-db-ja.com

bashコマンド「sendmail」を使用してhtmlメールを送信する方法は?

誰でもデモを利用できますか?

Sendmailはスケーラブルではないと言われていますが、無料なので、今のところ最初に使用することにしました:)

21
omg

私は投稿されたソリューションのいずれも動作させることができませんでしたが、最終的に他の場所でこれを見つけました、そしてそれは素晴らしい動作します:

(
echo "From: ${from}";
echo "To: ${to}";
echo "Subject: ${subject}";
echo "Content-Type: text/html";
echo "MIME-Version: 1.0";
echo "";
echo "${message}";
) | sendmail -t
40
Steven L

私があなたを正しく理解していれば、linux sendmailコマンドを使用してHTML形式でメールを送信したいと思います。このコードはUnix上で動作しています。試してみてください。

echo "From: [email protected]
To: [email protected]
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary='PAA08673.1018277622/server.xyz.com'
Subject: Test HTML e-mail.

This is a MIME-encapsulated message

--PAA08673.1018277622/server.xyz.com
Content-Type: text/html

<html> 
<head>
<title>HTML E-mail</title>
</head>
<body>
<a href='http://www.google.com'>Click Here</a>
</body>
</html>
--PAA08673.1018277622/server.xyz.com
" | sendmail -t

Sendmail設定の詳細については、これを参照してください link 。お役に立てれば。

17
Space

このページが役立つはずです- http://www.zedwood.com/article/103/bash-send-mail-with-an-attachment

MIME添付ファイル、つまりHTMLページと画像を含む電子メールを送信するスクリプトが含まれています。

4
DavidMWilliams

あなたがsendmailを要求したことは理解していますが、デフォルトの mail を使用しないのはなぜですか?簡単にhtmlメールを送信できます。

対象:RHEL 5.10/6.xおよびCentOS 5.8

例:

cat ~/campaigns/release-status.html | mail -s "$(echo -e "Release Status [Green]\nContent-Type: text/html")" [email protected] -v

CodeShare: http://www.codeshare.io/8udx5

4

http://senthilkl.blogspot.lu/2012/11/how-to-send-html-emails-using-sendemail.html で解決策が見つかりました

sendEmail -f "Oracle@server" -t "[email protected]" -u "Alert: Backup complete" -o message-content-type=html -o message-file=$LOG_FILE  -a $LOG_FILE_ATTACH 
3
Abdel

-オプション?

Cf.マニュアルページ:

-a file
          Attach the given file to the message.

結果:

Content-Type: text/html: No such file or directory
2
Virole Bridée

mail を使用して前の回答をフォローアップするには:

多くの場合、HTML出力はクライアントメーラーによって解釈されます。クライアントメーラーは、固定幅フォントを使用してフォーマットを行わない場合があります。したがって、適切にフォーマットされたアスキー配列はすべて台無しになります。昔ながらの固定幅を神が意図した方法で送るには、これを試してください:

{ echo -e "<pre>"
echo "Descriptive text here."
Shell_command_1_here
another_Shell_command
cat <<EOF

This is the ending text.
</pre><br>
</div>
EOF
} | mail -s "$(echo -e 'Your subject.\nContent-Type: text/html')" [email protected]

「説明テキスト」は必ずしも必要ではありません。しかし、最初の行は、その内容によっては、メールプログラムが意図しない方法でファイルの残りの部分を解釈することがあります。希望する方法で出力を微調整する前に、最初に簡単な説明テキストでスクリプトを試してください。

2
Mike S