我正在开发一款应用程序,我希望能够将多个图像附加到电子邮件中。我正在使用Message类。 我使用setAttachment()函数使用单个附件使其工作正常。
然而,当我试图附上多封电子邮件时,我碰壁了
查看源代码中的注释似乎函数getAttachments()应该允许添加多个附件。
但是,在Message类中的任何其他地方似乎都没有准备好地图
我可以将所有图像上传到服务器,只需将它们链接到电子邮件中,但我希望尽可能将其自包含。
另一种选择是将所有图像压缩成文件并附加。但似乎我们只能压缩到tar球,这对大多数最终用户来说并不是那么有用。
最好的解决方案是多个附件,是否可以使用Message? 我必须要子类吗?
以下是我在代码中尝试的内容:
Message message = new Message("" + currentReport.getField("Title") + "\n\n" + currentReport.getField("Comment"));
java.util.List<ReportImage> images = currentReport.getField("Images");
Map<String,String> attachements = message.getAttachments();
for(ReportImage img: images){
if (img != null && img.getField("Path") != null) {
String path = img.getField("Path");
attachements.put(path, path.toLowerCase().endsWith("png") ? Message.MIME_IMAGE_PNG : Message.MIME_IMAGE_JPG);
}
}
String[] sendTo = {""};
Message.sendMessage(sendTo, "Error Report " + sdf.format(new Date()), message);
答案 0 :(得分:1)
您编写的代码应该有效,但您应该注意到这应该是使用FileSystemStorage而不是Storage类的文件的路径。
这在文档中并不清楚,我稍微澄清了下一次文档更新。