2014-01-13 1 views
12

ColdFusion 9에서 CFIMAP을 사용하여 사용자 전자 메일 메시지의 미리보기 (제목, 날짜, 날짜)를 얻으려고합니다. getHeaderOnly를 사용하여 데이터를 가져올 수 있지만 이렇게하면 SEEN 플래그가 yes로 설정됩니다.SEIM 플래그를 표시하지 않고 CFIMAP으로 이메일을 미리 보시겠습니까?

CFIMAP을 사용하여 미리보기를 SEEN으로 표시하지 않고 볼 수있는 방법이 있습니까?

일반적으로 IMAP의 일반적인 기능입니까?

+4

IMAP : 본문을 BODY [part]로 가져 오는 것은 암시 적으로 보이는 플래그를 표시하고, BODY.PEEK [part]로 페치하면이 동작을 방지 할 수 있습니다. – Max

+0

getall 옵션의 cfimap 쿼리 결과에서 FROM, SUBJECT 및 SENTDATE 값을 사용할 수 있습니다. 선택 사항 * from Query_getAttachments 본 = <하는 cfdump VAR = "#의 getMailAttachments 번호는"> – shemy

+0

@shemy은이 그대로 SEEN 플래그를 유지하지 않는 경우? getHeaderOnly는 호출 할 때 표시되는 항목을 표시합니다. –

답변

2

이 질문에 대한 답을 얻을 수도 있습니다. @HenryGibson이 지적했듯이 <cfimap>에서는이 기능을 사용할 수 없습니다. 관련 기능이 노출되지 않습니다. RFC의 FETCH에 대한 PEEK 참고 사항 : "6.4.5. FETCH Command"을 참조하십시오. 그게 당신이 할 수 있어야 할 일이고, 당신은 그걸 통제 할 수 없어요. <cfimap>

그러나 Java는 IMAP을 통해 메일 저장소에 액세스 할 수있는 라이브러리를 가지고 있습니다 : IMAPStore; 그리고 IMAPMessage에 대한 문서를 보면 페치에서 PEEK 옵션을 지원합니다 (당연히) : setPeek().

그럼 분명히 할 수 있습니다. 수치스러운 점은 <cfimap>이 단순하지 않다는 것입니다. bugbase에 E/R을 올릴 가치가 있습니다.

자바에 bash를 제공해야한다고 생각합니다. 문제가 발생하면 여기에서 관련 질문을 제기하십시오. 나는 개인적으로 자바 경로를 가져 가지 않았기 때문에 빠른 "101"을 줄 수는 없으며 실제로 여기에 대한 답변에 적합 할만큼 사소한 것은 아닙니다. (그리고 나는 가지고 있지 않다는 것을 인정해야합니다. 그렇게하기에 충분한 속도를 얻으려는 동기 부여).

그러나 <cfimap>은이 문제에 대한 해결책이 아닙니다. 두려워요.

+0

* 서버 와이드 * 설정이 마음에 들지 않으면 [mail.imap.peek]] (https://javamail.java.net/nonav/docs/api/com/sun/mail)을 설정해보십시오. /imap/package-summary.html) mail 속성을 true로 설정하십시오 (ssl의 경우 'imaps'사용). 그 행동을 불가능하게해야합니다. 명백한 단점은 설정이 전체 jvm에 적용된다는 것입니다 (공유 된 응용 프로그램에는 적합하지 않음). 분명히 cfimap이 연결 수준에서 적용하는 것이 더 나을 것입니다. 그러나 이것은 일부의 경우에는 적절한 해결책이 될 수 있습니다. – Leigh

관련 문제