使Java邮件正文附件作为密码保护
我已经开发了一个java邮件API程序,它将发送邮件,它还附加了PDF文件,因此最终会发送一封附加了PDF文件的邮件 我想通过我的java程序本身将该PDF文件作为密码保护。例如,当邮件接收者收到邮件时,接收者单击PDF文件。此时需要出现弹出框,用户必须键入以前生成的密码才能查看该PDF文件。我正在开发功能,但似乎是与域结构。请帮帮我使Java邮件正文附件作为密码保护,java,encryption,jakarta-mail,Java,Encryption,Jakarta Mail,我已经开发了一个java邮件API程序,它将发送邮件,它还附加了PDF文件,因此最终会发送一封附加了PDF文件的邮件 我想通过我的java程序本身将该PDF文件作为密码保护。例如,当邮件接收者收到邮件时,接收者单击PDF文件。此时需要出现弹出框,用户必须键入以前生成的密码才能查看该PDF文件。我正在开发功能,但似乎是与域结构。请帮帮我 messageBodyPart = new MimeBodyPart(); DataSource source = new FileDa
messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource("D:/C_App/PDF/"+Employeeid+ ".docx");//add file path
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(Employeeid);//file name to be displayed
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);
byte[] USER = "password 1234".getBytes();
byte[] OWNER = "password 1234".getBytes();
encryptPdf(DataSource source, DataSource source) throws IOException, DocumentException {
PdfReader reader = new PdfReader(source);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(source));
stamper.setEncryption(USER, OWNER,
PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128 | PdfWriter.DO_NOT_ENCRYPT_METADATA);
stamper.close();
reader.close();
}
Transport.send(message);
这个代码段也给了我语法错误。任何帮助都将不胜感激。
多谢各位
encryptPdf(DataSource source, DataSource source) throws IOException, DocumentException {
PdfReader reader = new PdfReader(source);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(source));
stamper.setEncryption(USER, OWNER,
PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128 | PdfWriter.DO_NOT_ENCRYPT_METADATA);
stamper.close();
reader.close();
}
这是一个方法声明部分,您应该遵循java
方法声明约定,如访问范围、返回类型。
我在您的代码中看不到对encryptPdf方法的调用。
请添加您面临的异常的堆栈跟踪。在encryptedPdf线段的行中,标记上出现语法错误,请键入expected。并在堆栈中跟踪线程AWT-EventQueue-0java.lang中的about异常。错误:未解决的编译问题:我还使用此部分获取struct。这就是为什么向任何人寻求帮助。说真的,对我来说,这似乎很难实现。如果你能帮我处理代码段