我正在寻找一个帮助我使用IMAP的Java库,最好是IDLE.
我需要编写一个使用SSL通知并检索新电子邮件的Java应用程序.该应用程序将检查由hMailServer托管的帐户的收件箱.
到目前为止,我已经看过了:
JavaPushMail但是没有足够的文件记录(我可能能够解决它,但我不确定我的继任者会如此高兴).
Javamail,他们的IMAPFolder似乎是一个不错的选择,但我时间紧迫,为它写一个稳定的库需要时间.
Chilkatsoft是一个199美元的图书馆,它有点贵(我知道,免费和良好可靠的代码总是很容易得到:)另外,我不确定它处理IDLE.
如果记录和稳定,我可以寻找一个轮询收件箱的解决方案.
我会欣赏一些示例代码,一个库或正确方向的推动.
对不起所有的“我”,并提前感谢.
解决方法:
我没有使用你提到的除Javamail之外的任何库,但我可以保证它.我必须编写一个应用程序来轮询交换服务器并解析收件箱中的所有新邮件.这是该项目中使用的代码的snippit.我在应用程序中完成了所有轮询,所以我没有查看来自服务器或其他任何内容的推送通知.我知道这并不是你所要求的,但我希望这是朝着正确方向迈出的一步.
import java.util.Properties;
import javax.mail.*
import javax.mail.search.FlagTerm;
public class Driver {
public static void main(String[] args){
// Create properties (disable security checks on server)
Properties props = new Properties();
props.put("mail.imaps.ssl.checkserveridentity", "false");
props.put("mail.imaps.ssl.trust", "*");
// Get session
Session session = Session.getDefaultInstance(props, null);
try{
// Get the store
Store store = session.getStore("imaps");
store.connect("servername", "username", "password");
//connection configuration
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
//get all unread messages in the inbox
FlagTerm ft = new FlagTerm(new Flags(Flags.Flag.SEEN), false);
Message[] messages = folder.search(ft);
for (int i = messages.length -1; i>=0; i--) {
messages[i].setFlag(Flags.Flag.SEEN, true);
}
// Close connection
folder.close(false);
store.close();
}
catch(Exception e){
}
}
}
标签:java,imap,email,hmail-server
来源: https://codeday.me/bug/0630/1332807.html