노새를 배우기 시작한 것이므로 매우 기본적인 질문이라면 용서해주십시오.Mule의 IMAP 전송을 사용할 때 인바운드 전자 메일을 구문 분석하는 방법은 무엇입니까?
메일 박스를 모니터링하기 위해 성공적으로 뮬을 구성 했으므로 메일이 도착할 때마다 메일을 테스트 용으로 텍스트 파일에 작성합니다.
이제이 메일을 구문 분석하고 메일에서/From/To 메시지를 가져와야합니다.
<flow name="testFlow" doc:name="testFlow">
<imap:inbound-endpoint host="ip"
port="143" user="username" password="pwd" doc:name="IMAP"
responseTimeout="10000" transformer-refs="Message_Properties">
</imap:inbound-endpoint>
<file:outbound-endpoint path="C:\"
outputPattern="#[function:datestamp].dat" doc:name="File">
</file:outbound-endpoint>
</flow>
은 내가 아래의 식 (사용 식 변압기)를 사용하여 헤더 정보
#[inboundProperties['email-header-name']]
을 얻을 수있을 것이라고 생각하지만이 작동하지 않습니다. 또한
#[map-payload:HOST]
#[map-payload:MESSAGE]
#[map-payload:TIMESTAMP]
은 누군가가 도와 드릴까요, 아래의 표현을 시도했지만 작동하지 않았다? 또한 사용할 수있는 표현식 목록이있는 문서가 있는지 아는 사람이 있습니까?
편집 : 속성을 볼 수있는 로거를 포함 '은 모든 속성을 표시하지만 시체를 찾을 수 couldnt한다 .. 또한, 나는
#[map-payload:fromAddress] and #[inboundProperties['fromAddress']]
를 사용하여 FROMADDRESS을 받고 시도했지만 didn를
누군가가 내게 어디가 잘못되었는지 알려 줄 수 있습니까?특성은
inbound.fromAddress=Service <[email protected]>
inbound.subject=Test Final inbound.toAddresses=Service
, 편집이 다음과 같이 있습니다 :이다
나는 시도했지만 나던 일 :(
나는 이메일 제목을 검색하고 쓰기를 시도하고있는 무슨 이메일 제목을 기반으로 로거를 사용하여 파일을 표시하거나 표시하지만 아래 오류가 나타납니다.
ERROR 2013-02-07 19:22:45,275 [[test].connector.file.mule.default.dispatcher.01] org.mule.exception.DefaultMessagingExceptionStrategy:
********************************************************************************
Message : Could not find a transformer to transform "SimpleDataType{type=javax.mail.internet.MimeMessage, mimeType='*/*'}" to "SimpleDataType{type=java.io.InputStream, mimeType='*/*'}".
Code : MULE_ERROR-236
내가 실수를하고있는 곳을 알려 주실 수 있습니까?
<flow name="testFlow1" doc:name="testFlow1">
<imap:inbound-endpoint host="ip"
port="143" user="uname" password="pwd" doc:name="IMAP"
responseTimeout="10000" disableTransportTransformer="true">
</imap:inbound-endpoint>
<logger message="#[message.inboundProperties['inbound.fromAddress']]" level="INFO" doc:name="Logger"/>
<choice doc:name="Choice">
<when expression="message.inboundProperties['inbound.subject']=='plain test'">
<processor-chain>
<logger message="#[message.inboundProperties['inbound.fromAddress']]" level="INFO" doc:name="Logger"/>
</processor-chain>
</when>
<otherwise>
<processor-chain>
<file:outbound-endpoint path="C:\mule" outputPattern="#[function:datestamp].dat" responseTimeout="10000" disableTransportTransformer="true" doc:name="File">
</file:outbound-endpoint>
</processor-chain>
</otherwise>
</choice>
</flow>
when 식에서 # []를 사용하십시오.그것은없이 작동하지만 이것은 일시적인 하위 호환 모드입니다. –