首页 > 解决方案 > 如何解码邮件附件的标题?

问题描述

我目前正在尝试获取电子邮件附件的文件名为此,我正在使用 Java Mail。我尝试了 getFileName() 和 getDisposition 函数,但它总是返回一个空值,我确信我正在使用的 bodyPart 是一个附件然后我查看附件的标题,发现如下内容:

atnCida9h9YZu22t4QIA96yanqeY1GdMko1ASnJrwFRuhpsZVhRQOD2h4Uk1L4B8GiAdARYgpiHy:atnCida9h9YZu22t4QIA96yanqeY1GdMko1ASnJrwFRuhpsZVhRQOD2h4Uk1L4B8GiAdARYgpiHy
ARHDUYlnEilefN9pY9mmQRJuKcJVRQFMlsOfGXWFZgrLK9bIjZWh0DJtQCRYO7CmJDSla5rj3f8y:ARHDUYlnEilefN9pY9mmQRJuKcJVRQFMlsOfGXWFZgrLK9bIjZWh0DJtQCRYO7CmJDSla5rj3f8y
Ovd3EvuBvGYWhIf0A2kfV0zJ5nhKoZMAfaGVjten/MCs9EvrSyB3WNjDhpbkgeKVrtekT5KSZBh8:Ovd3EvuBvGYWhIf0A2kfV0zJ5nhKoZMAfaGVjten/MCs9EvrSyB3WNjDhpbkgeKVrtekT5KSZBh8
XZ2T1H8rXMmQzM8J9QkPnH7ETZjFA+c8Br8Z9wZGJh6lEhD9EF300yimLxhJ6QJN5OjDm5lPMmID:XZ2T1H8rXMmQzM8J9QkPnH7ETZjFA+c8Br8Z9wZGJh6lEhD9EF300yimLxhJ6QJN5OjDm5lPMmID
d6qR9OFPIytMvlxn85GRm7eN9JwJRliNK74g4h5F+KbwKrL/3xrJayIWNL//W0T6lohkuogVU3hG:d6qR9OFPIytMvlxn85GRm7eN9JwJRliNK74g4h5F+KbwKrL/3xrJayIWNL//W0T6lohkuogVU3hG
LpnwrdB78K0xzcTHWmJ8SGj2yiEJ+/7HQzI8wPI3AAAA//8DAFBLAwQUAAYACAAAACEAfwE3GH0B:LpnwrdB78K0xzcTHWmJ8SGj2yiEJ+/7HQzI8wPI3AAAA//8DAFBLAwQUAAYACAAAACEAfwE3GH0B
AADVAgAAEAAIAWRvY1Byb3BzL2FwcC54bWwgogQBKKAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:AADVAgAAEAAIAWRvY1Byb3BzL2FwcC54bWwgogQBKKAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAACcUk1PwzAMvSPxH6reWbodJjR5QWhjcOBLrMA5Stw2Ik2iJJvYv8eloxS4kZP9bL88vwQu:AAAAAACcUk1PwzAMvSPxH6reWbodJjR5QWhjcOBLrMA5Stw2Ik2iJJvYv8eloxS4kZP9bL88vwQu
3luT7TFE7ewyn06KPEMrndK2XubP5ebsPM9iElYJ4ywu8wPG/IKfnsBjcB5D0hgzorBxmTcp+QVj:3luT7TFE7ewyn06KPEMrndK2XubP5ebsPM9iElYJ4ywu8wPG/IKfnsBjcB5D0hgzorBxmTcp+QVj
UTbYijihsqVK5UIrEqWhZq6qtMS1k7sWbWKzopgzfE9oFaozPxDmPeNin/5Lqpzs9MWX8uCJj0OJ:UTbYijihsqVK5UIrEqWhZq6qtMS1k7sWbWKzopgzfE9oFaozPxDmPeNin/5Lqpzs9MWX8uCJj0OJ
rTciIb/vJs1EudQCG1AoXRKm1C3yaUH4kMGjqDHyKbA+gFcXVOTU0wewakQQMpGBfAZslMGl90ZL:rTciIb/vJs1EudQCG1AoXRKm1C3yaUH4kMGjqDHyKbA+gFcXVOTU0wewakQQMpGBfAZslMGl90ZL
kchYfqdlcNFVKXv4VJt108DGLUAbbFHugk6Hjn+cwq22vYo+IFVB1EH45ihtyGArhcEV7c4rYSIC:kchYfqdlcNFVKXv4VJt108DGLUAbbFHugk6Hjn+cwq22vYo+IFVB1EH45ihtyGArhcEV7c4rYSIC
+wZg5Vov7IE/PF3eX19lmzK7Dm7nSfax0N3zFp996dadK0eGn+Bo41edmq0XEn/tPsJhSygqWmbQ:+wZg5Vov7IE/PF3eX19lmzK7Dm7nSfax0N3zFp996dadK0eGn+Bo41edmq0XEn/tPsJhSygqWmbQ
MwBwQ48TTMdOs7ZG9dXzt9C5+dL/Uj6dTwo6n/Z9YWTC8H34BwAAAP//AwBQSwECLQAUAAYACAAA:MwBwQ48TTMdOs7ZG9dXzt9C5+dL/Uj6dTwo6n/Z9YWTC8H34BwAAAP//AwBQSwECLQAUAAYACAAA
ACEAo++7HWUBAABSBQAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRlbnRfVHlwZXNdLnhtbFBLAQIt:ACEAo++7HWUBAABSBQAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRlbnRfVHlwZXNdLnhtbFBLAQIt
ABQABgAIAAAAIQAekRq37wAAAE4CAAALAAAAAAAAAAAAAAAAAJ4DAABfcmVscy8ucmVsc1BLAQIt:ABQABgAIAAAAIQAekRq37wAAAE4CAAALAAAAAAAAAAAAAAAAAJ4DAABfcmVscy8ucmVsc1BLAQIt
ABQABgAIAAAAIQABM4tsCAEAALUDAAAcAAAAAAAAAAAAAAAAAL4GAAB3b3JkL19yZWxzL2RvY3Vt:ABQABgAIAAAAIQABM4tsCAEAALUDAAAcAAAAAAAAAAAAAAAAAL4GAAB3b3JkL19yZWxzL2RvY3Vt
ZW50LnhtbC5yZWxzUEsBAi0AFAAGAAgAAAAhAEutOxLjAwAAxQsAABEAAAAAAAAAAAAAAAAACAkA:ZW50LnhtbC5yZWxzUEsBAi0AFAAGAAgAAAAhAEutOxLjAwAAxQsAABEAAAAAAAAAAAAAAAAACAkA
AHdvcmQvZG9jdW1lbnQueG1sUEsBAi0ACgAAAAAAAAAhAF3d0yo3+wEAN/sBABUAAAAAAAAAAAAA:AHdvcmQvZG9jdW1lbnQueG1sUEsBAi0ACgAAAAAAAAAhAF3d0yo3+wEAN/sBABUAAAAAAAAAAAAA
AAAAGg0AAHdvcmQvbWVkaWEvaW1hZ2UxLnBuZ1BLAQItABQABgAIAAAAIQCxiVTzBgYAAKUbAAAV:AAAAGg0AAHdvcmQvbWVkaWEvaW1hZ2UxLnBuZ1BLAQItABQABgAIAAAAIQCxiVTzBgYAAKUbAAAV
AAAAAAAAAAAAAAAAAIQIAgB3b3JkL3RoZW1lL3RoZW1lMS54bWxQSwECLQAUAAYACAAAACEAUHlx:AAAAAAAAAAAAAAAAAIQIAgB3b3JkL3RoZW1lL3RoZW1lMS54bWxQSwECLQAUAAYACAAAACEAUHlx
1bMDAAC8CQAAEQAAAAAAAAAAAAAAAAC9DgIAd29yZC9zZXR0aW5ncy54bWxQSwECLQAUAAYACAAA:1bMDAAC8CQAAEQAAAAAAAAAAAAAAAAC9DgIAd29yZC9zZXR0aW5ncy54bWxQSwECLQAUAAYACAAA
ACEAsT+4YiIBAABOAgAAFAAAAAAAAAAAAAAAAACfEgIAd29yZC93ZWJTZXR0aW5ncy54bWxQSwEC:ACEAsT+4YiIBAABOAgAAFAAAAAAAAAAAAAAAAACfEgIAd29yZC93ZWJTZXR0aW5ncy54bWxQSwEC
LQAUAAYACAAAACEAWtlzyH4BAADvAgAAEQAAAAAAAAAAAAAAAADzEwIAZG9jUHJvcHMvY29yZS54:LQAUAAYACAAAACEAWtlzyH4BAADvAgAAEQAAAAAAAAAAAAAAAADzEwIAZG9jUHJvcHMvY29yZS54
bWxQSwECLQAUAAYACAAAACEAe9FzPNALAABqcwAADwAAAAAAAAAAAAAAAACoFgIAd29yZC9zdHls:bWxQSwECLQAUAAYACAAAACEAe9FzPNALAABqcwAADwAAAAAAAAAAAAAAAACoFgIAd29yZC9zdHls
ZXMueG1sUEsBAi0AFAAGAAgAAAAhAFjUDzfwAQAAPwYAABIAAAAAAAAAAAAAAAAApSICAHdvcmQv:ZXMueG1sUEsBAi0AFAAGAAgAAAAhAFjUDzfwAQAAPwYAABIAAAAAAAAAAAAAAAAApSICAHdvcmQv
Zm9udFRhYmxlLnhtbFBLAQItABQABgAIAAAAIQB/ATcYfQEAANUCAAAQAAAAAAAAAAAAAAAAAMUk:Zm9udFRhYmxlLnhtbFBLAQItABQABgAIAAAAIQB/ATcYfQEAANUCAAAQAAAAAAAAAAAAAAAAAMUk
AgBkb2NQcm9wcy9hcHAueG1sUEsFBgAAAAAMAAwABAMAAHgnAgAAAA==:AgBkb2NQcm9wcy9hcHAueG1sUEsFBgAAAAAMAAwABAMAAHgnAgAAAA==

要查找我正在使用此 Java 函数的附件:

            if(MailContentType.contains("multipart/MIXED")){
                mult = (Multipart) getMail().getContent();
                System.out.println(mult.getCount());
                for(int i = 1; i < mult.getCount(); i++){
                    bodyP = (BodyPart) mult.getBodyPart(i);
                    headers = bodyP.getAllHeaders();
                    while (headers.hasMoreElements()) {
                        Header h = (Header) headers.nextElement();
                        //System.out.println(h.getName() + ":" + h.getValue());
                        //System.out.println("");                
                        String mID = h.getName();                
                        System.out.println((h.getName()) + ":" + (h.getValue()));
                    }

是否可以解码此附件的标头?

标签: javaemail

解决方案


推荐阅读