IMAP をサポートしていない Hotmail 用のクライアントを構築する必要があります。私の理解では、POP3 との交換を使用する必要がありますが、POP3 はあるフォルダーから別のフォルダーへのメールの移動をサポートしていません。次の機能が必要です。
- 「既読」のマークを付けずにメールを読むことができる
- メールを削除できる
- メールを受信トレイから別のフォルダーに移動して、既読としてマークすることができます
これを機能させる方法はありますか?
IMAP をサポートしていない Hotmail 用のクライアントを構築する必要があります。私の理解では、POP3 との交換を使用する必要がありますが、POP3 はあるフォルダーから別のフォルダーへのメールの移動をサポートしていません。次の機能が必要です。
これを機能させる方法はありますか?
短い答え、いいえ。
Microsoft から ActiveSync プロトコルのライセンスを取得します。
Hotmail 用の Outlook コネクタがあります。大量の JNI を使用している可能性がありますが、最初にライセンスを確認してください。
更新: Outlook は IMAP をサポートするようになりました。Hotmail は同じサーバーを使用します。
必要なことはすべて JavaMail で行うことができます。ここにAPIがあります
以下は、受信トレイからすべての未読メッセージを取得し、それらを既読としてマークする例です。copyMessages()
メッセージを新しいフォルダーに移動するためのフォルダー クラス (具体的にはメソッド) を見てください。
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();
// Get session
Session session = Session.getDefaultInstance(props, null);
try{
// Get the store
Store store = session.getStore("pop3");
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), true);
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){
e.printStackTrace();
}
}