procmail留守番電話を使用しようとしています。添付ファイルとともにHTMLフォーム(画像、jpg / png)を再送信したいと思います。これを達成する簡単な方法はありますか?これは私のコードです。
:0
| ($FORMAIL -rA "$XLOOP" -i "Content-Type: text/html; Content-Transfer-Encoding: base64" -A "Reply-To: [email protected]" -I "From: [email protected]"; cat $HOME/reply.html) | $SENDMAIL -oi -t
reply.html
正常に配信され、送信者に送信されましたが、htmlファイルで定義された画像が表示されません。 Googleが画像をスキップして見苦しい四角形を表示しているように見えるため、画像をbase64にエンコードしようとしましたが、成功しませんでした。
ベストアンサー1
$HOME/reply.html
ファイルが正しい形式であれば、現在持っているファイルが機能します。ああ、あなたの説明によると、そうではありません。
しかし、私はこのファイルにできるだけ多くの静的ヘッダーを分割し、あらかじめformail
計算できないヘッダーの前に追加するためにのみ使用します。そうなると君だけ残るだろう
:0
| (formail -rA "$XLOOP" | grep .; cat $HOME/reply.html) | $SENDMAIL -oi -t
Procmailレシピでは(XLOOP
ヘッダーが実際に静的であれば、テンプレートにも含めることができます。これは、応答ヘッダーを生成するときにヘッダーと本文の間に「首」として空白行を提供するためgrep .
ですformail
。望ましくないので、formail
出力から空白行を削除します。
秘密は、さまざまなMIME部分を互いに正しく接続することです。これはテンプレートです。このファイルはHTMLファイルではありません。 HTML部分、画像部分、その他の内容を含むMIME構造なので、名前を変更する必要があるかもしれません。
From: [email protected]
X-Reply-To: The reply-to: header is redundant if its value is the same as From:
MIME-Version: 1.0
Content-Type: multipart/related; boundary="reasonablyuniquegobbledygook"
--reasonablyuniquegobbledygook
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
This message is HTML-only because I hate you. Nothing personal, I hate
everyone.
--reasonablyuniquegobbledygook
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
<html><head><title>Reply</title></head><body><p>
I cannot think of a situation where you would genuinely want to base64
your HTML.
<img src=3D"cid:logo.png"></p></body></html>
--reasonablyuniquegobbledygook
Content-Type: image/png; name="logo.png"
Content-Transfer-Encoding: base64
Content-Id: <logo.png>
SGVyZSBpcyBzb21lIGJhc2U2NCBmb3IgeW91LiAgVGhpcyBpcyBvYnZpb3VzbHkgYWN0dWFsbHkg
dGV4dCwgbm90IGltYWdlL3BuZyBkYXRhLgo=
--reasonablyuniquegobbledygook--
最上位MIME部分の構造に注意してくださいmultipart/related
。この部分には、互いに接続できる個々のMIME部分が含まれています。 (いずれも仮印刷ですのでエラーやミスのある点お詫び申し上げます。)