2013-02-22 72 views
4

我該如何使用w3m或其他在RMAIL消息中內聯顯示HTML內容,或者至少在外部Web瀏覽器中打開它的MIME部分?如何使用w3m在RMAIL消息中呈現HTML內容?

我發現的唯一解決方案是在EmacsWiki中,但它是1996年的代碼,不適合我。至少在Emacs 24.

+0

如果您有一個示例消息,您可以將pastebin放在某處?只是這樣我才能看到標題或其他東西......我*可能*能夠剔除某些東西。 – 2013-02-25 15:06:44

+0

有一個多部分信息(我收到的垃圾郵件:-)和另一個包含HTML中完整信息的示例:http://dpaste.com/995136/。只需將內容保存到某個文件中,然後就可以在RMAIL上閱讀它了。非常感謝你! – semente 2013-02-25 16:00:57

回答

1

好的。這個怎麼樣?

 


(defun buffer-html-to-w3m() 
    "View HTML in the current rmail using W3M. 

You must have W3M installed for this to work." 
    (interactive) 
    (let ((subject (mail-fetch-field "Subject"))) 
    (when 
     (string-match-p 
     "text/html.*" 
     (mail-fetch-field "Content-type")) 
     (save-excursion 
     (goto-char (point-min)) 
     (let ((pt (re-search-forward "\n<html>" nil t))) 
      (goto-char pt) 
      (let ((buf (get-buffer-create (concat "*rmail-" subject "*")))) 
      (shell-command-on-region 
      pt (or 
       (re-search-forward "</html>" nil t) 
       (point-max)) 
      "w3m -T text/html" buf) 
      (switch-to-buffer-other-window buf) 
      (view-mode))))))) 

我不確定名稱,我只嘗試了其中一封電子郵件,但對於我來說,這是有效的。

我把你的消息寫入rmail-mode,然後編寫這個函數,它找到了html並通過W3M管道。

您已切換到生成的緩衝區,我們將它放在view-mode中,因此您只需「q」即可停止查看它。

+0

我稍後再嘗試,並給你一個反饋!非常感謝你!我必須爲你付一杯啤酒! :-D 無論如何,我正在尋找一種更加完整的方式,因爲Emacs可以處理圖像和其他多部分內容。我試過閱讀rmailmm模塊,但是我發現代碼太複雜了。 https://github.com/emacsmirror/emacs/blob/master/lisp/mail/rmailmm.el – semente 2013-02-25 17:18:59

+0

是的,在Emacs中有一些能夠真正理解html的東西真是太好了。我沒有意識到任何事情。這很令人沮喪,因爲問題不是那麼困難,它只是需要將大部分HTML扔掉的東西。無論如何,我這樣做,除了真錢:-) – 2013-02-25 17:21:44

+0

我只注意到stackoverflow打破了我的代碼...我不得不改變正則表達式搜索使用初始實體。無論如何,因爲它看起來很好,但如果你複製純文本,它將是錯誤的。 – 2013-02-25 18:21:25

0

我打算使用w3m-emacs在這個鏡頭上拍攝。

相關問題