Bab*_*u R 1 java email-attachments
嗨,我是JavaMail的新手.
我想上传一个文件作为附件.它只存储文件名.
文件仅使用文件名成功附加,而不是该文件的内容.
如何解决它.提前致谢...
我试过以下代码:
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(fromAddress));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(toAddr));
if (subject == null) {
message.setSubject("");
} else {
message.setSubject(subject);
}
if (attachedFile == null || attachedFile.equalsIgnoreCase("")) {
if (content == null) {
message.setText("");
} else {
message.setText(content);
}
} else {
// Create the message part
BodyPart messageBodyPart = new MimeBodyPart();
if (content == null) {
messageBodyPart.setText("");
} else {
messageBodyPart.setText(content);
}
// Create a multipar message
Multipart multipart = new MimeMultipart();
// Set text message part
multipart.addBodyPart(messageBodyPart);
// Part two is attachment
// messageBodyPart = new MimeBodyPart();
DataSource source = new ByteArrayDataSource(
attachedFile.getBytes("UTF-8"),
"application/octet-stream");
messageBodyPart = new MimeBodyPart();
// DataSource source = new FileDataSource(attchedFile);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(attachedFile);
// messageBodyPart.setHeader("Content-ID", "image/*");
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);
}
Transport.send(message);
Run Code Online (Sandbox Code Playgroud)
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(body, "text/plain");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
// adds attachments
MimeBodyPart attachPart = new MimeBodyPart();
File file=new File("Z:/filename");
try {
attachPart.attachFile(file);
} catch (IOException ex) {
ex.printStackTrace();
}
multipart.addBodyPart(attachPart);
// sets the multi-part as e-mail's content
message.setContent(multipart);
Run Code Online (Sandbox Code Playgroud)
可能这会起作用