次のコマンドを使用してメールを送信しようとします。このコマンドをsqrからコマンドラインに送信すると正常に動作します。$FilePath_mail
、その他の情報To
とFrom
HTML形式の電子メール本文です。本文に画像(ロゴ)を入れたくて添付ファイルとして送りたいです。
/usr/sbin/sendmail -t < $FilePath_mail
メールに添付ファイル(デフォルトではイメージ)を追加するには、上記のコマンドを変更する必要がありますか?
答え1
イメージをメッセージに MIME 部分として追加し、応答Content-ID
(CID) を使用して参照する必要があります。ここ
後ろの人エクスプレスMTAユーティリティが実装されました。編む。 Courier MTAの一部としてインストールされていますが、一部のシステムではスタンドアロンパッケージまたはメール配送便利です。
これにより、makemime
コマンドラインでメールメッセージをMIMEにエンコードするのが簡単になります。そのページの例は次のとおりです。
たとえば、
# Take two files containing the text and the html version of a message, and
# add MIME headers to them.
makemime -c "text/plain; charset=iso-8859-1" -o tmp1.txt msg.txt
makemime -c "text/html; charset=iso-8859-1" -o tmp1.html msg.html
# Combine the result into a multipart/alternative collection
makemime -m "multipart/alternative" -a "Content-Disposition: inline" \
-o tmp.ma1 tmp1.txt
makemime -j tmp.ma1 -o tmp.ma2 tmp1.html
# Add MIME headers to an image attachment.
makemime -c "image/gif" -a "Content-Disposition: attachment" \
-o tmp2.gif attachment.gif
# Create the final multipart/mixed collection
makemime -m "multipart/mixed" -a "Mime-Version: 1.0" \
-o tmp.mm1 tmp.ma2
makemime -j tmp.mm1 -o output.msg tmp2.gif
output.msg には完全な MIME コレクションが含まれます。 「Subject:」、「From:」、および「To:」ヘッダーを追加し(もちろん、-aオプションを追加して実行することもできます)、送信してください。
それがまさにあなたが求めるものです。そしてそれは行うことができます。このようなツールを使用すると、makemime
プロセスが非常に安全になる可能性があります。
しかし、Sendgridの記事を読んでください。「電子メールに画像を挿入する方法:本当」。多くのクライアントが誤って処理されるため、通常はWebサーバーのイメージを参照します。これは最も簡単な方法であり、通常、ユーザーは「クリックして表示」を要求しますが、クライアント間で最も一貫した結果を提供するようです。
別のオプションは、HTMLソースコードにロゴをインラインで挿入することです。
<img alt="Logo" src="data:image/jpeg;base64,">
または
<img alt="Logo" src="data:image/png;base64,"
その後、画像ファイルのBase64エンコーディングデータを追加すると、base64,
準備が完了します。しかし、今回も多くの顧客がこれを好きではないでしょう。
次のコマンドを使用してオンラインでファイルをエンコードできます。base64encode.org。まず、次のようなものを使用して画像を圧縮することをお勧めします。小さなPNG
答え2
画像のみを送信することを選択した場合は、いつでも電子メールで送信できます。mpack
必要な構文はおおよそ次のとおりです。
mpack -s "This is my image" $FilePath_mail [email protected]
~からman mpack
名前
mpack - pack a file in MIME format
説明 mpack プログラムは、指定されたファイルを 1 つ以上の MIME メッセージにエンコードします。結果のメッセージは、1人以上の受信者にメールで送信され、指定されたファイルまたはファイルセットに書き込まれ、または一連のニュースグループに公開されます。
Debian では、次のようにインストールできます。
sudo apt-get install mpack