如何使用JavaMail API读取电子邮件附件(当contentType为text/plain时)

如何使用JavaMail API读取电子邮件附件(当contentType为text/plain时),java,jakarta-mail,content-type,Java,Jakarta Mail,Content Type,我们有一个外部应用程序,它向我们发送一封带有附件的电子邮件。 对于contentType Multipart:我们能够解析和处理附件 但有时他们发送的邮件带有contentType text/plain(message.getContent()为null),我们无法从message obj获取附件和电子邮件正文 发送方无法将内容类型固定为多部分,我们必须在接收方端容纳它 我们使用的是JavaMail API 1.5,尝试了ApacheCommons mail util,但它仅在message.g

我们有一个外部应用程序,它向我们发送一封带有附件的电子邮件。 对于contentType Multipart:我们能够解析和处理附件

但有时他们发送的邮件带有contentType text/plain(message.getContent()为null),我们无法从message obj获取附件和电子邮件正文

发送方无法将内容类型固定为多部分,我们必须在接收方端容纳它

我们使用的是JavaMail API 1.5,尝试了ApacheCommons mail util,但它仅在message.getContent()中有对象时才起作用

文件夹emailFolder=store.getFolder(“收件箱”); emailFolder.open(文件夹只读)

Message[]messages=emailFolder.getMessages(); System.out.println(“总消息”+消息长度)

for(int i=0;i
Multipart multipart = (Multipart) message.getContent();
 for(int k = 0; k < multipart.getCount(); k++){
   BodyPart bodyPart = multipart.getBodyPart(k);  
   InputStream stream = 
                     (InputStream) bodyPart.getInputStream();  
 }
Multipart Multipart=(Multipart)message.getContent();
for(int k=0;k
}

**原始MIME消息内容:**
发件人:发件人
致:“'support@XYZ.com'" 
主题:变更请求#CHG85 02附件
线程主题:更改请求#CHG85 02附件
线程索引:AdVQ+bdv3Fd+yaP6Qr2RCdQvPsvI9Q==
日期:2019年8月12日星期一10:37:23+0000
消息ID:
接受语言:en US
内容语言:en US
X-MS-Has-Attach:是
X-MS-TNEF-相关器:
dlp产品:dlpe windows
dlp版本:11.1.0.61
dlp反应:无作用
x-mcafeedlp-tagged:真
x-ms-exchange-transport-fromentityheader:托管
x-origing-ip:[已删除ip]
x-tm-onpremattruleprocessed:真
内容类型:多部分/混合;
boundary=“_002_1DDC97A916B4F929414D0D4B6703397 DelhixChMBX003MYORGHLTD”
MIME版本:1.0
X-EOPAttributedMessage:0
X-MS-PublicTrafficType:电子邮件
X-MS-Exchange-SenderAddCheck:1
X-Microsoft-Antispam-Message-Info:2.这是一个简单的概念。2)是一个简单的vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv6 vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvEQVUKRM0YNDKVKRF3U08RO7PQOTPV37Z4XQRYTNRPTLXEUQWI6TBFRK3HJRBKBARPME1ON2CYRFBCIXMLMXBFPNIAR4LOLZ0MPL/h3UANKY7r4=
X-Origatororg:MyOrgLtd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime:2019年8月12日10:37:25.6885
(UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id:8137d2d0-3ec5-4a61-f117-08d71f111117
X-MS-Exchange-CrossTenant-Id:edf442f5-b994-4c86-a131-b42b03a16c95
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectionIP:TenantId=edf442f5-4c86-a131;Ip=[Ip RMOVED];Helo=[MyEmail.MyOrgLtd.com]
X-MS-Exchange-CrossTenant-FromEntityHeader:HybridOnPrem
X-MS-Exchange-Transport-CrosstenantheadersTamped:BMXPR01MB3830
X-CLX-Shades:MLX
X-CLX-Response:1TFKXEXORCKX6FX4 SeqPZRBDLFMFZE0V5WungubekWfGxAwZ9AWNautyFLI RCNHO20SRWSBEENTRK5HEQP5TBDRF0BACxJBGGICABEKEUMxAvnssg1KwF5YZZKwU0xZ2ZYEqPzRCROQGNCGHRPXHHAADWYYGGYAQPxHWKKKKKKKKKKKKKKKKKKKKLGF0TEX
NVCRVLET04RCKNOF3L1T25TFGVCE1XEFF1NWLBBBX9ABRTSC0BBY1LGXLATEQYXBCFBBOEGXIB BXNMGHWTTHIFBRASABBSAGGQEEGQCEBH8AEQPEWRD/QL9ZBBEKTVWXG0EEQPWDOAU1RA1KK8AUVWGWFZWHHPG0GRCKNAFX4ABBSAHQQBQBGRIEQPEQPEQPEX
CYEQpcxBCAEQPCRRDSSWTYGWCF2RTXEXEKQK4xBRJFACT4Q21GTMERCKJMF2LMFWLNZ2LCN5SE QPCBDHBxKFU2Z4B25DSBEKQKAXZMLOYBGNLW3IRCKJYF3BABvGFBNHKHUUFEQPNXHCBEQPA WBCYEQPWADIXCAUG98Q15ERXAZGHECGGXYWFAA0FNBENAQBGQHBORCNBZUFEGGXPPAB5
PEB0AEQPWabdjeellXMZ8FUKSBRADGHEKCGGXY0VPSWJSFWBDUEAQGROURCNBRF21PQNFFU8BBQ FUEBKAEQPWSXDHUBIBAU9SAERDBRACHEKCGSXY2DSAWLVYXN5YNKGROGRORCNB2DRQ2LPEV9DR XJBKAEQPWQXDSSX1AEL9BTQVRRBACHREKBX4XGKWE0XSXEG
X-Proofpoint-SPF-Result:通过
X-Proofpoint-SPF-Record:v=spf1 mx ip4:IP RMOVED ip4:IP RMOVED
ip4:IP RMOVED ip4:IP RMOVED ip4:IP RMOVED
ip4:IP地址包括:spf2.MyOrgLtd.com
包括:spf.protection.outlook.com-全部
X-Proofpoint-Virus-Version:供应商=安全引擎=2.50.10434:,,定义=2019-08-12_04:,,
签名=0
X-Proofpoint-Spam-Reason:安全
--_002_1DCP97A916B4F929414D0D4B6703397DELHIXCHMBX003MYORG有限公司_
内容类型:文本/纯文本;charset=“us ascii”
内容传输编码:引用可打印
嗨,用户,
我们已收到数据,将处理并通知您。
非常感谢。
管理
--_002_1DCP97A916B4F929414D0D4B6703397DELHIXCHMBX003MYORG有限公司_
内容类型:应用程序/八位字节流;name=“testData.csv”
内容描述:testData.csv
内容处置:附件;filename=“testData.csv”;尺寸=393;
创建日期=“2019年8月12日星期一10:35:38 GMT”;
修改日期=“2019年8月12日星期一10:35:38 GMT”
内容传输编码:base64
IKNPCMN1AXQGIIWIU2V2ZXJPDHKICIJDAXJJDWL0OSAGICAV0EGIC8ILCJPDXRHZ2UICIJDAXJJDWL0MTQGICAGL1NMICAVIWIT3V0YWDLIGOIQ2LY3VPDDGGICAGL1NCICAVIIWIT3V0YWDLIGOIQ2LY3VPDDUGICAGL1NCICAVIWIT3V0YWDLIGOIQ2LY2LY3VPDDGICAGL1NUICAVIWIT3V0YWDLIGOLIGOIQ2LY3VPIDGICAV0YIGIQ2L3VPIDGICAV0YWITCIQ2LIGOL3VPIDGIGICAV0YWIT3SIKIKNPCMN1AXQXICAGIC9TTSAGLYISIK91DGFNZSSIKIKNPCMN1AXQ0ICAGIC9TQIAGLYISIK91DGFNZSI=
--_002_1DCP97A916B4F929414D0D4B6703397DELHIXCHMBX003MYORG有限公司_--

如果内容类型为文本/普通,则没有附件


如果message.getContent()返回null,则可能也没有消息内容,或者消息的格式有问题。发布消息的原始MIME内容,我可以帮助您找出消息的错误。

我已更新消息的原始MIME内容,我可以在原始内容中看到消息正文和附件(base64字符串)。getContentType()返回text/plain&getContent()为null。现在如何获取正文和附件?该消息存在一些问题。收件人地址无效。我将忽略那个问题。后面有一个空行
**RAW MIME message content :**
  From: SENDER <SENDER@MyOrgLtd.com>
To: "'support@XYZ.com'" <'support@XYZ.com'>
Subject: Change Request #CHG85 02 ATTACHMENT
Thread-Topic: Change Request #CHG85 02 ATTACHMENT
Thread-Index: AdVQ+bdv3Fd+yaP6Qr2RCdQvPsvI9Q==
Date: Mon, 12 Aug 2019 10:37:23 +0000
Message-ID: <1dcdc97a916b4f929414d0d4b6703397@DELHIXCHMBX003.MyOrgLtd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
dlp-product: dlpe-windows
dlp-version: 11.1.0.61
dlp-reaction: no-action
x-mcafeedlp-tagged: True
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [IP REMOVED]
x-tm-onpremattruleprocessed: TRUE
Content-Type: multipart/mixed;
    boundary="_002_1dcdc97a916b4f929414d0d4b6703397DELHIXCHMBX003MyOrgLtd_"
MIME-Version: 1.0
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email

X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam-Message-Info:  fL+9KaLob6WaIw3QlMjrWkMfgsC6D53Vr10xvjo/DWwlRA3ZuQ0emJtxG2R1r3GXNuLYK7l6vjv/buJaaPhR7VW5qdysbinenPJjyOIwCcTuBCAm1nAtlEWJqRzIJT0n7oxDQvh7pH+mIm7yK0BwYX8nJyfg2CSot7is9h/Xbk/uwYow4RW9IuSq5ioMCPSt+zRzdfbJ76DIPvne4FYRy+D8Xbe4RBMcf6u7wvtQW3n86JtRUVz1EjDGmIA6ZfyHXtYf3Q09VKfyMg6wa7KOWJaiU+6HJCY4Jevdxgy75xvR+56PCQ1dV0QgeMsEqVuKrM0YndKVKrF3u08rO7PQoTpv37z4xqRyTNRpTwLXeuQWi6tBFRk3HjrbBKBaRpme1On2cYRFBCiXMLMxBfpNIaR4lolZ0MPL/h3UANKY7r4=
X-OriginatorOrg: MyOrgLtd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2019 10:37:25.6885
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8137d2d0-3ec5-4a61-f117-08d71f111117
X-MS-Exchange-CrossTenant-Id: edf442f5-b994-4c86-a131-b42b03a16c95
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=edf442f5-4c86-a131;Ip=[IP RMOVED];Helo=[MyEmail.MyOrgLtd.com]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BMXPR01MB3830
X-CLX-Shades: MLX
X-CLX-Response: 1TFkXExoRCkx6Fx4SEQpZRBdlfmFZE0V5WUNGUBEKWFgXaWZ9aWdnaUtyflI RCnhOF20SRWsbeENtRk5hEQp5TBdrf0BAcxJBGGIcaBEKeUMXaVNsSG1kWF5yZhoRCkNIFwcYGR oRCkNZFxsfGBEKWU0XZ2ZyEQpZSRcacRoQGncGHRpxHhAadwYYGgYaEQpZXhdobnkRCklGF0teX
 nVCRVleT04RCkNOF3l1T25TfGVCe1xEfF1NWlBbbx9abRtsc0BbY1lGXlATEQpYXBcfBBoEGxIb BxNMGhwTThIfBRsaBBsaGgQeEgQcEBseGh8aEQpeWRd/Ql9zbBEKTVwXGx0eEQpMWhdoaU1raxE KTEYXb2tra2traxEKQk8XaUVwGwFzWHhPG0gRCkNaFx4aBBsaHQQbGRIEGxkbEQpCXhcbEQpEXh
 cYEQpCXBcaEQpCRRdsSWtYGWwcf2RTSxEKQk4XbRJFaxt4Q21GTmERCkJMF2lmfWlnZ2lLcn5SE QpCbBdhbXkfU2Z4b25DSBEKQkAXZmlOYEBgbVNLW3IRCkJYF3pAbVgfbnhkHUUfEQpNXhcbEQpa WBcYEQpwaBdiXEcaUG98Q15ERxAZGhEKcGgXYWFAa0FNbENaQBgQHBoRCnBoF2UFeGZtGXppaB5
 pEB0aEQpwaBdjeEllXmZ8fUkSBRAdGhEKcGgXY0VPSWJSfWBdUEAQGRoRCnBrF21pQXNffU8BBQ FuEBkaEQpwSxdhUBIbAU9saERdBRAZGhEKcGsXY2dsAWlvYXN5YnkQGRoRCnBsF2drQ2lPeV9DR xJBEBkaEQpwQxdsSx1AEl9bTQVrRBAcHREKbX4XGxEKWE0XSxEg
X-Proofpoint-SPF-Result: pass
X-Proofpoint-SPF-Record: v=spf1 mx ip4:IP RMOVED ip4:IP RMOVED
 ip4:IP RMOVED ip4:IP RMOVED ip4:IP RMOVED
 ip4:IP RMOVED include:spf2.MyOrgLtd.com
 include:spf.protection.outlook.com -all
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-08-12_04:,,
 signatures=0
X-Proofpoint-Spam-Reason: safe
--_002_1dcdc97a916b4f929414d0d4b6703397DELHIXCHMBX003MyOrgLtd_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

hi User,
    We have received the data, will process and inform you.

Thank you,
admin


--_002_1dcdc97a916b4f929414d0d4b6703397DELHIXCHMBX003MyOrgLtd_
Content-Type: application/octet-stream; name="testData.csv"
Content-Description: testData.csv
Content-Disposition: attachment; filename="testData.csv"; size=393;
    creation-date="Mon, 12 Aug 2019 10:35:38 GMT";
    modification-date="Mon, 12 Aug 2019 10:35:38 GMT"
Content-Transfer-Encoding: base64

IkNpcmN1aXQgIiwiU2V2ZXJpdHkiCiJDaXJjdWl0OSAgICAvU0EgIC8iLCJPdXRhZ2UiCiJDaXJjdWl0MTQgICAgL1NMICAvIiwiT3V0YWdlIgoiQ2lyY3VpdDggICAgL1NCICAvIiwiT3V0YWdlIgoiQ2lyY3VpdDUgICAgL1NCICAvIiwiT3V0YWdlIgoiQ2lyY3VpdDYgICAgL1NUICAvIiwiT3V0YWdlIgoiQ2lyY3VpdDcgICAgL1NCICAvIiwiT3V0YWdlIgoiQ2lyY3VpdDIgICAgL1NHICAvIiwiT3V0YWdlIgoiQ2lyY3VpdDUxICAgIC9TQiAgLyIsIk91dGFnZSIKIkNpcmN1aXQxICAgIC9TTSAgLyIsIk91dGFnZSIKIkNpcmN1aXQ0ICAgIC9TQiAgLyIsIk91dGFnZSI=

--_002_1dcdc97a916b4f929414d0d4b6703397DELHIXCHMBX003MyOrgLtd_--