Email
Procmail - 帶附件的自動回复
我正在嘗試使用 procmail 自動回复。我想發回帶有附件(圖像;jpg/png)的 HTML 表單。有沒有一種簡單的方法可以做到這一點?到目前為止,這是我的一段程式碼:
:0 | ($FORMAIL -rA "$XLOOP" -i "Content-Type: text/html; Content-Transfer-Encoding: base64" -A "Reply-To: noreply@myserver.com" -I "From: noreply@myserver.com"; cat $HOME/reply.html) | $SENDMAIL -oi -t
已
reply.html
正確傳遞並發送給發件人,但是我看不到 html 文件中定義的圖像。我嘗試了 base64 圖像編碼但沒有成功,因為Google似乎跳過了它們並顯示了醜陋的方塊。
$HOME/reply.html
只要文件格式正確,您所擁有的應該可以工作。唉,根據你的描述,不是。順便說一句,我會盡可能多地將靜態標題分解到這個文件中,並且只用於
formail
預先無法計算的標題。那隻剩下你:0 | (formail -rA "$XLOOP" | grep .; cat $HOME/reply.html) | $SENDMAIL -oi -t
在 Procmail 配方中(如果
XLOOP
標題實際上也是靜態的,您也可以將其考慮到模板中。這grep .
是因為formail
在生成回复標題時提供了一個空行作為標題和正文之間的“頸部”,但是我們這裡不希望這樣,因為我們將在文件中提供額外的標題,我們在formail
’ 的標題之後連接;所以我們從輸出中刪除空行)。訣竅是讓不同的 MIME 部分正確地相互連接。這是各種各樣的模板。請注意,這根本不是一個 HTML 文件——它是一個 MIME 結構,其中包含一個 HTML 部分、一個圖像部分和其他一些雜碎——所以你可能想要重命名它。
From: noreply@myserver.com 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 部分。(這都是臨時打出來的,所以對任何錯誤或疏忽深表歉意。)