Google app engine 使用javamail和IMAP的Google应用程序引擎(GAE)message.getContent()不起作用

Google app engine 使用javamail和IMAP的Google应用程序引擎(GAE)message.getContent()不起作用,google-app-engine,jakarta-mail,gmail-imap,gae-eclipse-plugin,Google App Engine,Jakarta Mail,Gmail Imap,Gae Eclipse Plugin,我有几天的时间试图通过谷歌应用引擎项目的IMAP获取消息内容 我设法提取了所有其他信息,但提取了一条错误消息的内容(甚至调用message.getContent.tostring(),都不起作用,我尝试了多部分) 我在一个普通项目中执行相同的操作(不是GAE,而是使用javamail.1.4.7),消息的内容显示得非常完美 这是GAE项目的代码: import java.util.Properties; import java.util.logging.Logger; import ja

我有几天的时间试图通过谷歌应用引擎项目的IMAP获取消息内容

我设法提取了所有其他信息,但提取了一条错误消息的内容(甚至调用message.getContent.tostring(),都不起作用,我尝试了多部分)

我在一个普通项目中执行相同的操作(不是GAE,而是使用javamail.1.4.7),消息的内容显示得非常完美

这是GAE项目的代码:

    import java.util.Properties;
import java.util.logging.Logger;
import javax.mail.Session;
import java.io.IOException;
import javax.mail.Authenticator;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Store;
import javax.servlet.http.*;

@SuppressWarnings("serial")
public class nuevo extends HttpServlet {

    private String User;
    private String Pass;

    private static final Logger log = Logger.getLogger(nuevo.class
            .getName());

    public void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws IOException {

        User = "User";
        Pass = "Pass";

        LlamaIMAP(resp);

    }

    public void LlamaIMAP(HttpServletResponse resp) {

        Properties props = System.getProperties();
        props.setProperty("mail.store.protocol", "imaps");
        props.put("mail.imap.host", "imap.gmail.com");
        props.put("mail.imap.user", User);
        props.put("mail.imap.socketFactory", 993);
        props.put("mail.imap.socketFactory.class",
                "javax.net.ssl.SSLSocketFactory");
        props.put("mail.imap.port", 993);
        Session session = Session.getDefaultInstance(props,
                new Authenticator() {
                    @Override
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication(User, Pass);
                    }
                });
        try {
            Store store = session.getStore("imap");
            store.connect("imap.gmail.com", 993, User, Pass);
            Folder fldr = store.getFolder("Inbox");
            fldr.open(Folder.HOLDS_MESSAGES);
            // HOLDS_MESSAGES);
            Message[] ar = fldr.getMessages();
            int count = fldr.getMessageCount();
            resp.getWriter().println(count);
            resp.getWriter().println(ar[0].getAllRecipients()[0].toString());
            resp.getWriter().println(ar[0].getFrom()[0].toString());
            resp.getWriter().println(ar[0].getSentDate().toString());
            resp.getWriter().println(ar[0].getSubject());

            resp.getWriter().println(ar[0].getContent().toString());

        } catch (Exception exc) {
            try {
                resp.getWriter().println(exc + "error");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

    }
} 
我设法把它修好了

只需将以下行添加到appengine-web.xml配置文件:

<class-loader-config>    
       <priority-specifier filename="imap.jar"/>   
       <priority-specifier filename="gimap.jar"/>    
       <priority-specifier filename="dsn.jar"/>    
       <priority-specifier filename="mailapi.jar"/>    
 </class-loader-config>

谢谢。

向我发送错误消息是什么意思?什么错误消息?表演什么?另外,请纠正您所做的错误。