218.17. 사용자 정의 SearchTerm 사용


Camel 2.11로 사용 가능

원하지 않는 이메일을 필터링할 수 있는 mailEndpoint 에서 searchTerm 을 구성할 수 있습니다.

예를 들어 제목 또는 text에 Camel을 포함하도록 메일을 필터링하려면 다음과 같이 수행할 수 있습니다.

<route>
  <from uri="imaps://mymailseerver?username=foo&password=secret&searchTerm.subjectOrBody=Camel"/>
  <to uri="bean:myBean"/>
</route>

"searchTerm.subjectOrBody" 를 매개 변수 키로 사용하여 "Camel"이라는 단어를 포함하도록 메일 제목 또는 본문에서 검색할 것을 나타냅니다.
org.apache.camel.component.mail.SimpleSearchTerm 클래스에는 다음과 같은 다양한 옵션이 있습니다.

또는 보이지 않는 새로운 이메일을 24 시간 뒤로 보내려면 할 수 있습니다. "now-24h" 구문을 확인합니다. 자세한 내용은 아래 표를 참조하십시오.

<route>
  <from uri="imaps://mymailseerver?username=foo&password=secret&searchTerm.fromSentDate=now-24h"/>
  <to uri="bean:myBean"/>
</route>

엔드포인트 uri 구성에 searchTerm이 여러 개 있을 수 있습니다. 그런 다음 AND 연산자를 사용하여 함께 결합되므로 두 조건이 모두 일치해야 합니다. 예를 들어, 이메일 제목에 Camel이 있는 24시간 동안 보이지 않는 마지막 이메일을 얻으려면 다음을 수행할 수 있습니다.

<route>
  <from uri="imaps://mymailseerver?username=foo&password=secret&searchTerm.subject=Camel&searchTerm.fromSentDate=now-24h"/>
  <to uri="bean:myBean"/>
</route>

SimpleSearchTerm 은 Cryostat에서 쉽게 구성할 수 있도록 설계되었으므로 XML에서 <bean> 스타일을 사용하여 구성할 수도 있습니다.

<bean id="mySearchTerm" class="org.apache.camel.component.mail.SimpleSearchTerm">
  <property name="subject" value="Order"/>
  <property name="to" value="acme-order@acme.com"/>
  <property name="fromSentDate" value="now"/>
 </bean>

그런 다음 다음과 같이 Camel 경로에 #beanId를 사용하여 이 빈을 참조할 수 있습니다.

<route>
  <from uri="imaps://mymailseerver?username=foo&password=secret&searchTerm=#mySearchTerm"/>
  <to uri="bean:myBean"/>
</route>

Java에는 org.apache.camel.component.mail.SearchTermer 클래스를 사용하여 복합 SearchTerms 를 빌드하는 빌더 클래스가 있습니다. 이렇게 하면 다음과 같은 복잡한 용어를 빌드할 수 있습니다.

// we just want the unseen mails which is not spam
SearchTermBuilder builder = new SearchTermBuilder();

builder.unseen().body(Op.not, "Spam").subject(Op.not, "Spam")
  // which was sent from either foo or bar
  .from("foo@somewhere.com").from(Op.or, "bar@somewhere.com");
  // .. and we could continue building the terms

SearchTerm term = builder.build();
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.