From a5d263944fe3546f2cb98bbf76497e8e69996689 Mon Sep 17 00:00:00 2001 From: pppscn <35696959@qq.com> Date: Thu, 28 Mar 2024 22:48:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E5=8F=91=E9=80=81?= =?UTF-8?q?=E9=80=9A=E9=81=93`=E7=94=B5=E5=AD=90=E9=82=AE=E7=AE=B1`?= =?UTF-8?q?=E6=94=AF=E6=8C=81`S/MIME`=E6=88=96`OpenPGP`=E5=8A=A0=E5=AF=86?= =?UTF-8?q?=20#417?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/idormy/sms/forwarder/utils/mail/SmimeUtils.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/mail/SmimeUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/mail/SmimeUtils.kt index cd152b14..9205f20f 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/utils/mail/SmimeUtils.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/utils/mail/SmimeUtils.kt @@ -192,21 +192,22 @@ class SmimeUtils( generator.addCertificates(certStore) // 将邮件内容转换为 CMSSignedData - //val originalContent = originalMessage.content as MimeMultipart //TODO: Outlook 不显示正文 val outputStream = ByteArrayOutputStream() - //originalContent.writeTo(outputStream) - originalMessage.writeTo(outputStream) //TODO: Thunderbird 会重复现实发件人 + originalMessage.writeTo(outputStream) val contentData = CMSProcessableByteArray(outputStream.toByteArray()) val signedData = generator.generate(contentData, true) // 创建 MimeMessage 并设置签名后的内容 val signedMessage = MimeMessage(originalMessage.session, ByteArrayInputStream(signedData.encoded)) + /* + //TODO: 为什么不需要再设置这些? signedMessage.setRecipients(Message.RecipientType.TO, originalMessage.getRecipients(Message.RecipientType.TO)) signedMessage.setRecipients(Message.RecipientType.CC, originalMessage.getRecipients(Message.RecipientType.CC)) signedMessage.setRecipients(Message.RecipientType.BCC, originalMessage.getRecipients(Message.RecipientType.BCC)) signedMessage.addFrom(originalMessage.from) signedMessage.subject = originalMessage.subject signedMessage.sentDate = originalMessage.sentDate + */ signedMessage.setContent(signedData.encoded, "application/pkcs7-mime; name=smime.p7m; smime-type=signed-data") signedMessage.saveChanges()