提取电子邮件内容时出错

酷约翰

我已经编写了用于获取多部分电子邮件内容的代码...我收到此错误...我知道此错误是由于某些非常愚蠢的原因导致的,但经过数小时的调试后却无法获取它...可能是一些愚蠢的错误,例如;,}等代码:

import java.io.*;
import java.util.*;
import javax.mail.*;
import javax.mail.Flags.Flag;
import javax.mail.internet.*;
import javax.mail.internet.MimeMessage;
import com.sun.mail.imap.IMAPFolder;
import com.sun.mail.imap.IMAPMessage;
import com.sun.mail.imap.IMAPNestedMessage;



private String getText(Part p) throws MessagingException, IOException {


    if (p.isMimeType("multipart/alternative")) {
        // prefer html text over plain text
        Multipart mp = (Multipart)p.getContent();
        String text = null;
        for (int i = 0; i < mp.getCount(); i++) {
            Part bp = mp.getBodyPart(i);
            if (bp.isMimeType("text/plain")) {
                if (text == null)
                    text = getText(bp);
                continue;
            } else if (bp.isMimeType("text/html")) {
                String s = getText(bp);
                if (s != null)
                    return s;
            } else {
                return getText(bp);
            }
        }
        return text;
    } else if (p.isMimeType("multipart/*")) {
        Multipart mp = (Multipart)p.getContent();
        for (int i = 0; i < mp.getCount(); i++) {
            String s = getText(mp.getBodyPart(i));
            if (s != null)
                return s;
        }
    }
    else
    { return p.getContent().toString();}  
    return null; 
} 

public class FolderFetch3 {


public static void main(String[] args) throws MessagingException, IOException {
    IMAPFolder folder = null;
    Store store = null;
    String subject = null;
    Flag flag = null;




    try 
    {
      Properties props = System.getProperties();
      props.setProperty("mail.store.protocol", "imaps");

      Session session = Session.getDefaultInstance(props, null);

      store = session.getStore("imaps");
      store.connect("imap.gmail.com","[email protected]", "ferry@786");

      //folder = (IMAPFolder) store.getFolder("[Gmail]/Spam"); // This doesn't work for other email account
      folder = (IMAPFolder) store.getFolder("inbox"); //This works for both email account


      if(!folder.isOpen())
      folder.open(Folder.READ_WRITE);
      Message[] messages = folder.getMessages();
      System.out.println("No of Messages : " + folder.getMessageCount());
      System.out.println("No of Unread Messages : " + folder.getUnreadMessageCount());
      System.out.println(messages.length);
      for (int i=messages.length-1; i > messages.length-10;i--) 
      {

        System.out.println("*****************************************************************************");
        System.out.println("MESSAGE " + (i + 1) + ":");
        MimeMessage msg =  (MimeMessage)messages[i];
        //System.out.println(msg.getMessageNumber());
        //Object String;
        //System.out.println(folder.getUID(msg)
       //String n =messages[i];
        subject = msg.getSubject();

        System.out.println("Subject: " + subject);
        System.out.println("From: " + msg.getFrom()[0]);
        System.out.println("To: "+msg.getAllRecipients()[0]);
        System.out.println("Date: "+msg.getReceivedDate());
        System.out.println("Size: "+msg.getSize());
        System.out.println(msg.getMessageID());
        System.out.println(msg.getFlags());
        String tex=getText(msg);
        System.out.println("Body: \n"+ tex);
        System.out.println(msg.getContentType());

      }
    }
    finally 
    {
      if (folder != null && folder.isOpen()) { folder.close(true); }
      if (store != null) { store.close(); }
    }

}



}

我收到此错误:

FolderFetch3.java:17: error: class, interface, or enum expected
    private String getText(Part p) throws MessagingException, IOException {
            ^
FolderFetch3.java:23: error: class, interface, or enum expected
            String text = null;
            ^
FolderFetch3.java:24: error: class, interface, or enum expected
            for (int i = 0; i < mp.getCount(); i++) {
            ^
FolderFetch3.java:24: error: class, interface, or enum expected
            for (int i = 0; i < mp.getCount(); i++) {
                            ^
FolderFetch3.java:24: error: class, interface, or enum expected
            for (int i = 0; i < mp.getCount(); i++) {
                                               ^
FolderFetch3.java:26: error: class, interface, or enum expected
                if (bp.isMimeType("text/plain")) {
                ^
FolderFetch3.java:29: error: class, interface, or enum expected
                    continue;
                    ^
FolderFetch3.java:30: error: class, interface, or enum expected
                } else if (bp.isMimeType("text/html")) {
                ^
FolderFetch3.java:32: error: class, interface, or enum expected
                    if (s != null)
                    ^
FolderFetch3.java:34: error: class, interface, or enum expected
                } else {
                ^
FolderFetch3.java:36: error: class, interface, or enum expected
                }
                ^
FolderFetch3.java:39: error: class, interface, or enum expected
        } else if (p.isMimeType("multipart/*")) {
        ^
FolderFetch3.java:41: error: class, interface, or enum expected
            for (int i = 0; i < mp.getCount(); i++) {
            ^
FolderFetch3.java:41: error: class, interface, or enum expected
            for (int i = 0; i < mp.getCount(); i++) {
                            ^
FolderFetch3.java:41: error: class, interface, or enum expected
            for (int i = 0; i < mp.getCount(); i++) {
                                               ^
FolderFetch3.java:43: error: class, interface, or enum expected
                if (s != null)
                ^
FolderFetch3.java:45: error: class, interface, or enum expected
            }
            ^
FolderFetch3.java:48: error: class, interface, or enum expected
        { return p.getContent().toString();}  
                                           ^
FolderFetch3.java:50: error: class, interface, or enum expected
} 

^

这个月

getText(Part p)方法放在FolderFetch3类中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过imap提取电子邮件时出错

来自分类Dev

发送自动电子邮件时出错

来自分类Dev

验证电子邮件时出错

来自分类Dev

从SSRS中的电子邮件订阅发送邮件时出错

来自分类Dev

使用JavaMail从电子邮件中提取MIME编码的内容

来自分类Dev

如何提取电子邮件的全部内容?

来自分类Dev

注册用户时发送电子邮件时出错

来自分类Dev

通过mailgun发送电子邮件时出错

来自分类Dev

使用BLAT发送电子邮件时出错

来自分类Dev

使用Mandrill(php)发送电子邮件时出错

来自分类Dev

发送电子邮件MVC时出错

来自分类Dev

通过Gmail发送电子邮件时出错

来自分类Dev

清除空白电子邮件输入字段时出错

来自分类Dev

从Google App脚本发送电子邮件时出错

来自分类Dev

Python:连续发送多个电子邮件时出错

来自分类Dev

从Jenkins发送扩展电子邮件通知时出错

来自分类Dev

使用Mandrill(php)发送电子邮件时出错

来自分类Dev

从C#代码发送电子邮件时出错

来自分类Dev

清除空白电子邮件输入字段时出错

来自分类Dev

尝试发送电子邮件时出错

来自分类Dev

在 Codeigniter 2 中发送电子邮件时出错

来自分类Dev

提取电子邮件:密码

来自分类Dev

htmlagilitypack提取电子邮件

来自分类Dev

从crontab输出通过电子邮件发送邮件时,mutt显示邮件内容中的标题

来自分类Dev

通过smtplib发送电子邮件时如何在电子邮件内容中添加href链接

来自分类Dev

尝试从Microsoft Outlook 2010中提取发件人电子邮件地址并将其与字符串进行比较时出错

来自分类Dev

使用sendgrid API在电子邮件内容无效或php中不发送邮件时获得通知

来自分类Dev

从电子邮件中提取证书

来自分类Dev

从网页中提取隐藏的电子邮件

Related 相关文章

热门标签

归档