0
在我們的應用程序中,我們正在使用iMap從Gmail中讀取電子郵件並保存在數據庫中,在電子郵件中有兩個附件(一個是pdf文件,另一個是數字簽名文件)。對於第一個文件(pdf),我得到的處置爲空,並且無法處理附件,但對於第二個文件(p7s)獲取正確的處置值作爲附件。imap配置爲空
以下是附件的標題信息:
------=_NextPart_001_0025_01D03944.5B3A2140
Content-Type: application/pdf;
name="USXMS III Draft PUS - VOPR # 15-814.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="USXMS III Draft PUS - VOPR # 15-814.pdf"
------=_NextPart_000_0024_01D03944.5B3A2140
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
以下是相關的代碼來處理電子郵件的附件:
//Process attchements of email
protected processAttachments(def workItem, def message) {
int attachmentCount = 0
def content = message.content
if (content instanceof Multipart) {
for (cntr in 0..(content.count - 1)) {
def bodyPart = content.getBodyPart(cntr)
def disposition = bodyPart.getDisposition()
println("Disposition is " + disposition + ".");// returns null for pdf
if (Part.ATTACHMENT.equalsIgnoreCase(disposition)) {
if (this.saveAttachments(workItem, bodyPart)) {
attachmentCount++
}
}
}
}
return attachmentCount
}
所以在上面的代碼getDisposition返回null PDF文件。如果您需要更多信息,請告訴我。
什麼語言?什麼庫?有沒有可能你的圖書館沒有正確處理多行標題? – Max 2015-01-26 22:57:37
我正在使用Grails,使用javax.mail來使用jericho解析html內容。問題是爲什麼只有pdf標題不能被讀取和其他附件是好的。 – kmpsharma 2015-01-27 02:03:35
問題已解決,因爲它是嵌套的內容。如果處置爲空,我必須遍歷內容才能找到附件。 – kmpsharma 2015-01-27 21:54:12