UNIXコンピュータでは、電子メール本文にHTMLファイルを電子メールで送信する必要があります。 HTMLファイルを呼び出してみましょうhello.html
で次のコードを使用していますbash script
。
(
echo "To: [email protected]"
echo "Subject: Report"
echo "Content-Type: text/html"
echo
cat hello.html
echo
) | /usr/sbin/sendmail -t
上記のコードは私にとってうまくいきます。今このメールにzipファイルも添付したいと思います。これを行う方法はありますか?
私は、およびmail
をmailx
使用することに制限されています/usr/sbin/sendmail
。
答え1
zipファイルを添付して実際のメールを自分に送信し、元のコンテンツを確認することをお勧めします。
メール形式は次のとおりです。ジェスチャー広大極テキストメールにさまざまなファイル形式が含まれる方法を指定する標準です。
あなたの場合、トップレベルコンテンツタイプ次のようになりますマルチパート/交換またはマルチパート/ハイブリッド。 2つ以上があり、独自の部品またはセクションがあります。コンテンツタイプ。一つはタイプがありますアプリケーション/zip。これアプリケーション/zipセクションには、zipファイルのテキストエンコーディング(Base 64など)が含まれています。
例は次のとおりです。
From: John Doe <[email protected]>
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="XXXXboundary text"
This is a multipart message in MIME format.
--XXXXboundary text
Content-Type: text/plain
this is the body text
--XXXXboundary text
Content-Type: text/html
<html>
...Body of email in HTML format...
</html>
--XXXXboundary text
Content-Type: application/zip;
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="test.zip"
BASE64 ENCODING TEXT HERE
--XXXXboundary text--
質問の源に戻ってどうすればいいですか?私はこのような電子メールを書くのに役立つスタンドアロンツールに慣れていませんが、便利なツールが見つからない場合は驚きます。電子メールクライアントの1つがコマンドライン/一括操作をサポートすることもできます。ただし、最悪の場合はASCIIテキストであるため、HTMLメールと同じ方法で手動で簡単に作成できます。ただし、メッセージをメールエージェントに転送する前に、一時ファイルにメッセージを作成することをお勧めします。 (大量のテキストを簡単に保存するには、こちらの記事を確認してください。)
前述のように、zipファイルをBase 64に変換する必要があります。ほとんどすべてのLinuxインストールには、このbase64
ユーティリティまたはそれに対応するツールが必要です。 zipを渡して適切な時間に電子メールファイルに添付するだけです。
base64 test.zip >> my-email-file.txt
答え2
#!/usr/bin/ksh
export MAILTO="email_address"
export CONTENT="/export/home/aisdba/email_body.html"
export SUBJECT="subject of email"
(
echo "Subject: $SUBJECT"
echo "MIME-Version: 1.0"
echo "Content-Type: text/html"
echo "Content-Disposition: inline"
cat $CONTENT
) | /usr/sbin/sendmail $MAILTO
(または)送信できるインラインメッセージとして。
cat <<'EOF' - CH_ARG.html | /usr/sbin/sendmail $TARGET_DL
Subject: your subject line
Content-Type: text/html
MIME-Version: 1.0
Content-Disposition: inline
EOF
(または)以下の添付ファイルを試してください
cat <<'EOF' - CH_ARG.html | /usr/sbin/sendmail $TARGET_DL
Subject: Your subject line
Content-Type: text/text
MIME-Version: 1.0
Content-Disposition: attachment
EOF