Linuxでマルチパートメールを作成して送信する


12

muttを使用してメールを送信します。

mutt -s "Test" -e "Content-Type: text/html" test@example.com < message.html

更新メールをHTML形式で送信します。テキストバージョンとHTMLバージョンの両方を含むマルチパートとしてメールを送信したいと考えています。

  1. メールの件名、およびメール本文のHTMLバージョンとテキストバージョンが指定されている場合、Linuxでこのようなマルチパートメッセージをどのように作成しますか?
  2. muttを使用して、手順1で作成したマルチパートメールをLinuxプロンプトから送信できますか?

環境:RedHat Enterprise Linux 5、mutt

回答:


10

メールの件名、およびメール本文のHTMLバージョンとテキストバージョンが指定されている場合、Linuxでこのようなマルチパートメッセージをどのように作成しますか?

RFC 2046にmultipart/alternative記載されているタイプのメッセージを作成します。

From:Example Company <news@example.com>
To:Joe User <joe.u@example.net>
日付:2011年5月21日(土)17:40:11 +0300
件名:マルチパートメッセージの例
MIMEバージョン:1.0
Content-Type:multipart / alternative; 境界= asdfghjkl

--asdfghjkl
Content-Type:text / plain; charset = utf-8

みなさん、こんにちは!

--asdfghjkl
Content-Type:text / html; charset = utf-8

<!DOCTYPE html>
<ボディ>
<p>みなさん、こんにちは!</ p>
</ body>

--asdfghjkl--

正確な構文については、RFC 2046およびRFC 5322を参照してください。

muttを使用して、手順1で作成したマルチパートメールをLinuxプロンプトから送信できますか?

適切なContent-Typeヘッダーを設定する方法を見つけた場合。(あなたの例ではを使用していますが-e、muttは-eさまざまな目的で使用します。-e "my_hdr Content-Type: ..."元のtext / plainヘッダーはそのままにしておきます。)

生成されたメールを直接で送信することをお勧めしますsendmail。ヘッダーは自分で作成する必要があります–例を参照してください。strftime("%a, %d %b %Y %T %z")日付に使用し、境界にはランダムな英数字の文字列を使用します。次に、準備したメッセージ(ヘッダーを含む)をパイプしますsendmail -i -t

sendmail -i -t < above-example.txt

(この-tオプションは「宛先:行から受信者を取得する」を意味します。代わりにを使用することもできますsendmail -i joe.u@example.net


素晴らしい答えをありがとう、感謝!マルチパートメールを作成する方法を詳細に説明していただきありがとうございます。:)
user544192 2011年

0

見てくださいhttps://github.com/shivylp/mailprodを。大きなメールにコマンドラインを使用することは信頼できるオプションではないようだったので、この小さなPythonユーティリティ/ライブラリを開発しました。mailprodcliを使用すると、言うのと同じくらい簡単mailprodcli template.xml --sendです。画像を含むtemplate.xmlの例は、次のように単純です。

<?xml version="1.0" encoding="UTF-8"?>
<mail>
  <from>sender@source.com</from>
  <to>recipient1@destination1.com</to>
  <to>recipient2@destination2.com</to>
  <body type="text/html">
    <![CDATA[<html>
<b>Neat!</b><br><center><img src="cid:sample"></center>
</html>]]>
  </body>
  <body type="image" src="sample.png" id="sample" />
</mail>

これはプレーンテキストバージョンも送信しますか?OPは、HTMLとプレーンテキストの両方のコンテンツが同じメッセージに含まれているマルチパートメールを送信したいと考えています。
cascer1
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.