67,512
社区成员
发帖
与我相关
我的任务
分享
public void addAttachToEmail(final Message message) {
MimeBodyPart dataAttach = new MimeBodyPart();
MimeBodyPart imageAttach = new MimeBodyPart();
MimeBodyPart emailContent = new MimeBodyPart();
try {
emailContent.setText(message.getContent().toString());
dataAttach.attachFile(new File(dataPath));
//dataAttach.attachFile(new File("/mnt/sdcard/backups/msgInfo20150514042114.csv"));
if (!flag) {
dataAttach.attachFile(new File(imagePath));
//imageAttach.attachFile(new File("/mnt/sdcard/Picture/20150514051848.jpg"));
}
dataAttach.setHeader("Content-Type", "text/plain; charset=\"utf-8\"; name=\"mail.txt\"");
} catch (IOException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
MimeMultipart allMultipart = new MimeMultipart("mixed");
try {
allMultipart.addBodyPart(emailContent);
allMultipart.addBodyPart(dataAttach);
if (!flag) {
allMultipart.addBodyPart(imageAttach);
}
message.setContent(allMultipart);
message.saveChanges();
} catch (MessagingException e) {
e.printStackTrace();
}
}
// 附件部分
String[] attachFileNames = mailInfo.getAttachFileNames();
for (int i = 0; i < attachFileNames.length; i++) {
MimeBodyPart appendixBody = new MimeBodyPart();
// 设置数据源(即数据的来源)
DataSource dataSource = new FileDataSource(attachFileNames[i]);
DataHandler dataHandler = new DataHandler(dataSource);
// 设置附件的句柄给这个附件对象
appendixBody.setDataHandler(dataHandler);
// 设置附件的名称
try {
appendixBody.setFileName(MimeUtility.encodeText(dataSource.getName()));
}
catch (UnsupportedEncodingException e) {
LOGGER.error("附件名称转码异常", e);
}
mainPart.addBodyPart(appendixBody);
}