我正在使用javax.mail开发客户端邮件以读取邮箱中的邮件:
Properties properties = System.getProperties();
properties.setProperty("mail.store.protocol", "imap");
try {
Session session = Session.getDefaultInstance(properties, null);
Store store = session.getStore("pop3");//create store instance
store.connect("pop3.domain.it", "mail.it", "*****");
Folder inbox = store.getFolder("inbox");
FlagTerm ft = new FlagTerm(new Flags(Flags.Flag.SEEN), false);
inbox.open(Folder.READ_ONLY);//set access type of Inbox
Message messages[] = inbox.search(ft);
String mail,sub,bodyText="";
Object body;
for(Message message:messages) {
mail = message.getFrom()[0].toString();
sub = message.getSubject();
body = message.getContent();
//bodyText = body.....
}
} catch (Exception e) {
System.out.println(e);
}
我知道该方法getContent()
返回一个对象,因为内容可能是a String
,a MimeMultiPart
,a
SharedByteArrayInputstream
和其他(我认为)…是否有一种方法可以使消息始终位于消息正文中?谢谢!!
这个答案扩展了尤林的答案]。他提出的问题是a的内容MimeMultipart
本身可能是另一内容MimeMultipart
。getTextFromMimeMultipart()
在这种情况下,下面的方法将在内容上重复进行,直到完全解析了邮件正文为止。
private String getTextFromMessage(Message message) throws MessagingException, IOException {
String result = "";
if (message.isMimeType("text/plain")) {
result = message.getContent().toString();
} else if (message.isMimeType("multipart/*")) {
MimeMultipart mimeMultipart = (MimeMultipart) message.getContent();
result = getTextFromMimeMultipart(mimeMultipart);
}
return result;
}
private String getTextFromMimeMultipart(
MimeMultipart mimeMultipart) throws MessagingException, IOException{
String result = "";
int count = mimeMultipart.getCount();
for (int i = 0; i < count; i++) {
BodyPart bodyPart = mimeMultipart.getBodyPart(i);
if (bodyPart.isMimeType("text/plain")) {
result = result + "\n" + bodyPart.getContent();
break; // without break same text appears twice in my tests
} else if (bodyPart.isMimeType("text/html")) {
String html = (String) bodyPart.getContent();
result = result + "\n" + org.jsoup.Jsoup.parse(html).text();
} else if (bodyPart.getContent() instanceof MimeMultipart){
result = result + getTextFromMimeMultipart((MimeMultipart)bodyPart.getContent());
}
}
return result;
}
本文向大家介绍如何使用python读取Selenium中的文本文件?,包括了如何使用python读取Selenium中的文本文件?的使用技巧和注意事项,需要的朋友参考一下 我们可以通过先创建一个txt文件并在其中包含内容,来使用python阅读Selenium中的文本文件。 首先,我们需要打开文件并提及文本文件位置的路径作为参数。有多种读取方法可以执行这些操作。 read() –读取文件的全部内容
问题内容: 我无法弄清楚/的运作方式。我对此有些了解,但无法使其正常工作。 我知道我可以使用,但是如果这样做,我知道我永远不会理解/ 我只会埋葬这个问题。 目标:调用并返回文件的内容。 每次调用该文件都会增加一次(每页加载)。该文件包含二进制缓冲区的转储,并存储在SSD中。 无论我做什么,都会出现错误或在控制台中。 问题答案: 要使用/,您需要返回承诺的方法。没有包装器,核心API函数就不会这样做
问题内容: 我想从IMAP4服务器获取整个邮件。在python文档中,如果发现此代码有效: 我想知道我是否总是可以相信data [0] [1]返回消息的主体。当我运行“ RFC822.SIZE”时,我只有一个字符串而不是一个元组。 我已经浏览了rfc1730,但无法弄清楚“ RFC822”的正确响应结构。也很难从imaplib文档中得知获取结果的结构。 这是我在获取时得到的: 但是当我获取时,我得
问题内容: 我希望读取特定文件夹中的所有文本文件。文件名中没有任何通用模式-否则任务会更容易。 如果我也可以处理子文件夹,那将是很好,但是即使是基本的实现也已足够。 我尝试查看先前询问的相关问题,但是没有一个给出我需要的C和Linux特定答案。 编辑 :所以,这是我根据收到的答案写的- 并收到 错误 -pnp @ pnp-laptop:〜/ snort_rules_folder $ ./a.out
问题内容: 我有一堆iReport源代码(jrxml)通过以下路径位于工作区中: 当我将源代码打包到jar文件中时。我将拥有以下文件结构目录: 在我的源代码中,我具有以下代码来验证jrxml文件的存在: 当我通过命令执行此jar文件时: 我碰到一个错误提示,说特定的jrxml_file不存在。 我的疑问: 我只是想知道我是否允许读取位于MyJar.jar中的jrxml_file? 在读取jrxml
问题内容: 我正在尝试读取在CLASSPATH系统变量中设置的文本文件。不是用户变量。 我正在尝试将输入流传输到文件,如下所示: 将文件()的目录放在CLASSPATH中,然后尝试以下操作: 将文件()的完整路径放在CLASSPATH中,然后尝试上述3行代码中的相同路径。 但是不幸的是,它们都没有起作用,我一直都在进入InputStream 。 问题答案: 在类路径上的目录中,从同一类加载器加载的