最近我在通过oracle-javamail从我的电子邮件下载CSV时遇到了一个问题。我发现第一个工作正常(来自大型机服务器),但是第二个csv附件似乎是“应用程序/vnd.ms-excel”,当它显然是一个. csv文件时,就像另一个下载完全正常的文件一样。
我在这两个问题上使用了相同的代码,但找不到有关此问题的任何信息。
如果我把那封电子邮件发给自己,我可以神奇地下载附件而没有任何问题。任何帮助都将不胜感激。一旦我开始工作,另一个日常任务就会自动化!
if(content instanceof java.lang.String){
//emailBody = (String)content;
} else if(content instanceof Multipart){
System.out.println("is Multipart");
Multipart mp = (Multipart)content;
for (int j=0; j < mp.getCount(); j++) {
Part part = mp.getBodyPart(j);
String disposition = part.getDisposition();
if (disposition == null) {
// Check if plain
MimeBodyPart mbp = (MimeBodyPart)part;
if (mbp.isMimeType("text/plain")) {
//emailBody += (String)mbp.getContent();
} else {
// Special non-attachment cases here of
// image/gif, text/html, ...
String fileName = decodeName(part.getFileName());
File savedir = new File(path+"\\"+fileName);
saveFile(savedir, part);
}
} else if ((disposition != null) &&
(disposition.equals(Part.ATTACHMENT) || disposition.equals(Part.INLINE))){
// Check if plain
MimeBodyPart mbp = (MimeBodyPart)part;
if (mbp.isMimeType("text/plain")) {
System.out.println("has disp of plain");
//emailBody += (String)mbp.getContent();
} else {
System.out.println("has disp of else");
String fileName = decodeName(part.getFileName());
File savedir = new File(path+"\\"+fileName);
saveFile(savedir, part);
}
}
}
}
else{
System.out.println(message.getContentType());
}
虽然java似乎知道它接收的电子邮件类型,但事实证明它不知道。因为这不是标准类型,所以它会将其作为输入流返回。我可以用下面的代码查看文件的内容。
还要注意,这是作为应用程序/vnd出现的唯一原因。ms excel文件类型是因为电子邮件正文为空。
InputStream emailIn = (InputStream) message.getContent();
Scanner s = null;
try{
s = new Scanner(emailIn).useDelimiter("\\A");
while(s.hasNext())
System.out.println(s.next());
}
finally{
s.close();
}
如何从内容类型为“多部分/备选”的邮件中下载附件;
我试图通过javamail和imap从我的电子邮件下载所有新的电子邮件附件。这一切都很好,但有些附件在PDF中被解码为BASE64,这是我的声明 如何获取此附件并将其下载到硬盘? 到目前为止已经尝试过了,第一个IF语句使用Base64解码捕获附件。 如果有一种简单易行的方法可以将附件下载到我的磁盘,也可以使用NodeJS。尝试过node-imap,但我在那里遇到了同样的错误。
问题内容: 我查看了参考文档,Spring似乎对发送邮件有很好的支持。但是,我需要登录到邮件帐户,阅读邮件并下载所有附件。Spring mail API是否支持下载邮件附件? 我知道您可以使用Java Mail API来执行此操作,但是在过去,我发现使用它非常冗长且令人不愉快。 编辑 :我收到了一些指向教程的答复,这些教程描述了如何发送带有附件的邮件,但是我要问的是如何从 收到的 邮件中 读取 附
本文向大家介绍Oracle Database 附录提示,包括了Oracle Database 附录提示的使用技巧和注意事项,需要的朋友参考一下 示例 “使用DIRECT PATH方法插入新行”。 该APPEND提示指示引擎使用直接路径加载。这意味着引擎将不会使用使用内存结构和标准锁的常规插入,而是将数据直接写入表空间。始终创建新的块,这些块将追加到表的段中。这样会更快,但是有一些限制: 在提交或回
本文向大家介绍java、javascript实现附件下载示例,包括了java、javascript实现附件下载示例的使用技巧和注意事项,需要的朋友参考一下 在web开发中,经常需要开发“下载”这一模块,以下给出一个简单的例子。 在服务器端,使用java开发: 当我们在前端请求这个地址时,服务器先找出文件,设置响应头,然后通过流输出到浏览器端。 浏览器在头中发现该响应的主体是流文件,则自动会调用另存
我正在一个apache camel项目中下载收件箱中的任何附件,以实现我遵循http://camel.apache.org/mail.html中使用附件的邮件示例中的信息。除了附件的文件名带有特殊的字符或空格外,其他操作都很正常。例如,如果附件的文件名为“voucher.pdf”,则程序将运行并下载该文件,但如果附件的文件名为“Pase de abordar en Línea(1).pdf”,则会