Text-Processing

將收到的郵件從 text/plain 修改為 text/html

  • January 30, 2013

我正在使用mutt來處理我的郵件。有一個發件人聲明了錯誤的內容類型。郵件到達

Content-Type: multipart/alternative;
 boundary=--…

並且有兩個部分。它們被聲明為:

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

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

但是郵件的兩個部分是相同的。所以明文部分充滿了 HTML 標籤以及 HTML 部分。我試圖與發件人討論它,但他們使用某種無法更改這些設置的“企業”軟體。

所以我想在本地更改郵件,並可能刪除text/plain-part 或重寫text/plaintext/html.

您認為最好的方法是什麼?我可以使用哪些工具來獲得可讀的郵件?

在 mutt 中,您可以鍵入v,然後選擇要顯示的替代項。您還可以使用 更改元件的內容類型Ctrl-E

作為更通用的方法,您可以使用muttdisplay_filter設置:

set display_filter=/path/to/mutt-filter

mutt-filter這樣:

#! /usr/bin/awk -f
BEGIN {
 cmd="echo '[automatically converted from html to text]'; w3m -T text/html -dump"
}
{l=tolower($0)}
l ~ /<html|<!doctype html/,l ~ /<\/html>/ {
 print | cmd
 next
}
{close(cmd); print}

這將導致(在mutt要顯示的內容中,而不是原始電子郵件中)在<html></html>通過w3m -T text/html -dumpelinks -dump或您更喜歡htmltext轉換器)之間的任何事情。

因為這可能會轉換它不應該轉換的東西(比如何時<html>出現在真正的text/plain元件中),您可能需要對其進行調整,以便它只對那些發送虛假電子郵件的人的電子郵件進行操作,或者使用一些更奇特的方法,比如計算標籤數量並在達到門檻值時轉換…

引用自:https://unix.stackexchange.com/questions/62986