从消息头Grails中提取Message-id

时间:2013-07-18 07:49:15

标签: java email grails message

我需要来自邮件标题的电子邮件的message-id,有什么方法可以从邮件Header中提取邮件ID。我正在使用grails邮件插件。

2 个答案:

答案 0 :(得分:1)

邮件ID是邮件标头的第一个元素。因此,实现此目的的方法是以字符串形式输出电子邮件内容,然后使用正则表达式提取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();
    }

答案 1 :(得分:0)

@Benoit - 它不适用于我。

代替:

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

完美地完成了这项工作。

同样适用于Multipart电子邮件的每个部分。

欢呼声。