2013-07-18 30 views

回答

1

消息ID是郵件頭的第一個元素。因此,實現此目的的一種方法是在String中輸出電子郵件內容,然後使用正則表達式提取message-id(例如,使用Java完成,但可以使用Groovy正則表達式執行相同操作)。

String id; 
    String mailToString; 
    Pattern p = Pattern.compile("Message-ID: <(.*)>"); 
    Matcher m = p.matcher(mailToString); 
    if(m.find()){ 
     id = m.group(); 
    } 
+0

我們可以在發送電子郵件時將郵件的狀態設置爲未讀,以便可以在發送的文件夾中將其視爲未讀郵件插件。 – Abs

+0

只有在使用IMAP時,纔可以設置讀/未讀標誌,請參閱http://docs.oracle.com/javaee/6/api/javax/mail/Flags.html –

0

@Benoit - 它不適合我。

代替:

def inbox = store.getFolder('INBOX') 
inbox.messages.each{email-> 
    println "Message-Id: ${email.messageID}" 
    } 

做的工作非常完美。

同樣的作品也適用於Multipart電子郵件的每個部分。

歡呼聲。