簡體   English   中英

如何比較兩個MimeMessage.java對象以確保它們是相同的?

[英]How to compare two MimeMessage.java objects to make sure they are the same?

我們正在從舊系統切換到新系統,並且有一條路徑(新路徑)被丟棄,直到它與舊系統匹配為止。 舊系統以復雜的方式創建MimeMessage,不幸的是MimeMessage不僅僅是一個數據對象(盡管我認為它應該是並希望它是)。

我需要從MimeMessage中提取哪些數據進行比較以確保兩個系統100%完全相同?

更好的是,是否有一個Helper.writeMimeToBytes(mimeMessage),我可以在兩者上運行並比較字節。 writeTo方法不會寫入標題,因此這是不行的。 我需要一些東西,我可以從每個系統中寫出MimeMessage並進行比較,然后挖掘差異。

他們真的應該有一個MimeMessage,它只是equals()方法的數據,因為它更適合測試和模擬。

更正:我讀錯了文檔。 這句話“輸出消息作為RFC 822格式流,沒有指定的標題”得到了我,實際上意味着它傳入一個空數組,但事實證明多部分字節總是不同的,因為比爾香農在下面的答案中指出這是還是個問題。 該死的MimeMessage。

謝謝,迪恩

MimeMessage.write絕對會寫入標題。

如果兩個獨立構造的和非平凡的MIME消息是逐字節相同的,我會感到震驚。 至少,Message-Id應該是不同的,多部分邊界字符串應該是不同的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM