2011-02-18 58 views
2

我想知道如何去掉電子郵件的內容,並且當我在電子郵件中使用ruby返回電子郵件正文html時,可能會執行類似gmail的線程。RAILS:如何從電子郵件正文中刪除電子郵件的內容(簽名等)?

例如,下面的文本發送到我的應用程序:

Hey XYZ, 

I've fixed that error and tested it a couple of times, it seems to be working fine now. 

On Fri, Feb 18, 2011 at 7:44 AM, Joe David <[email protected]> wrote: 
Initial thread starts here... 

-- 
Thanks 
[email protected] 
+0

就這樣,我明白了,你會期望文本產生一條消息(答覆)或兩條(答覆+原件)? – 2011-02-18 22:58:21

+0

嘿,理想情況下,它應該返回它的線程;答案和原始可能是一個數組或類似的東西。 – 2011-02-18 23:05:21

回答

2

電子郵件格式是一件棘手的事情。您可以使用檢測字符串的正則表達式在電子郵件之間找到邊界,如On Fri, Feb 18, 2011 at 7:44 AM, Joe David <[email protected]> wrote:。但是你不能保證所有傳入的消息都會在電子郵件之間有這樣的字符串。

另一個選項是檢查>字符,該字符可能出現在每個引用行的開頭。但是,再一次,如果您收到的信息不符合此慣例,您將不得不擔心會發生什麼情況。

另一種選擇 - 我認爲Gmail做到了這一點 - 就是在傳入消息和以前的消息之間尋找匹配。即如果您在郵件中看到Initial thread starts here...Thanks, [email protected],並且您在數據庫中的前一條消息中也有該字段,則可以推斷該字詞是早期版本中的引用。

相關問題