2016-11-30 7 views
0

私はjavamailを使用して電子メールをダウンロードしていますが、今ではドメインごとにいくつかの電子メールアドレスをフィルタリングする必要があります。javamailを使用してドメインごとに電子メールをフィルタする

私はFromStringTermを使用しようとしましたが、それをフィルタリングする正しいパターンがわかりません。

編集1jmehrens部分的に私の問題を解決しました。

  Store store = session.getStore("imap"); 
      store.connect(configc.host, configc.email, configc.pass); 
      Folder folderInbox = store.getFolder("INBOX"); 
      folderInbox.open(Folder.READ_ONLY); 

      Message[] arrayMessages1 = folderInbox.search(??); 

この時点でドメインでフィルタリングするにはどうすればよいですか?

答えて

0

FromStringTermはjavax.mail.search.SearchTermに記載された動作を継承:

このクラスは、文字列の一致方法を実装します。現在の実装では、部分文字列マッチングのみが提供されています。比較を追加することができます(strcmp ...など)。

したがって、パターンはありません。これは、ボックス外で部分文字列マッチングを実行します。ここで

は、テストケースである:返信jmehrensため

Store store = session.getStore("imap"); 
store.connect(configc.host, configc.email, configc.pass); 
Folder folderInbox = store.getFolder("INBOX"); 
folderInbox.open(Folder.READ_ONLY); 

Message[] onlyBarOrg = folderInbox.search(new FromStringTerm("@bar.org")); 
+0

ありがとう:あなたのような何かを書くだろうjavax.mail.Folder::searchドキュメントを使用して

public class DomainMatch { public static void main(String[] args) throws Exception { MimeMessage msg = new MimeMessage((Session) null); msg.addFrom(InternetAddress.parse("[email protected]")); msg.saveChanges(); System.out.println(new FromStringTerm("@bar.org").match(msg)); System.out.println(new FromStringTerm("@spam.org").match(msg)); } } 

。私は自分の質問を更新して、何をする必要があるかについていくつかの詳細を述べました。 – ikk1

+0

それは魅力のように機能します。どうもありがとう。 – ikk1

関連する問題