0

我正在尝试使用 POP3 JavaMail 包来获取电子邮件。根据 JavaMail 文档,IMAPFolder 和 POP3Folder 都有 getUID() 方法。但是,该代码适用于 IMAP,但不适用于 POP3。使用 POP3 我收到以下错误:undefined method ``getUID' for #<Java::ComSunMailPop3::POP3Message:0x66d7cba7>. 下面是代码: server_messages = mbox.selectedfolder.getMessages() msgs_to_be_fetched = Array.new fetchprofile = javax.mail.FetchProfile.new() fetchprofile.add(javax.mail.UIDFolder::FetchProfileItem::UID) fetchprofile.add(javax.mail.FetchProfile::Item::FLAGS) mbox.selectedfolder.fetch(server_messages, fetchprofile) server_messages.each { |server_msg| next if server_msg.getFlags().contains(javax.mail.Flags::Flag::DELETED) uid = server_msg.getUID() msgs_to_be_fetched << server_msg unless msg_exists(uid) } unless server_messages.nil?

4

1 回答 1

0

我已经解决了这个问题。使用 IMAP 我可以调用 message.getUID() 但使用 POP3 我必须使用该文件夹。下面的代码: def getMessageUID(serverType,folder,msg) return (serverType == 'imap'? msg.getUID() : folder.getUID(msg)) end

于 2013-10-31T15:59:59.850 回答