2013-04-18 2 views
0

다음은 수행하려는 작업입니다. Notes "New message"창에 파일을 첨부하는 특수 단추를 추가하십시오. 이 버튼을 사용하여 파일을 첨부 한 경우 전자 메일을 보내면 서버에 업로드하고 전자 메일에 추가 할 링크를 서버에 업로드해야합니다.IBM Lotus Notes 용 플러그인에서 "send mail"을 캡쳐하는 방법

내 질문 - Lotus Notes 용 플러그인에서 "메일 보내기"이벤트를 캡처하는 것이 가능합니까?

답변

0

나는 그것을 알아 냈다. 8.5에서 제공되는 아주 멋진 확장 점이 있습니다 - "com.ibm.notes.mailsend.MailSendAttachmentsDialog", 이는 첨부 파일의 사용자 정의 처리를 위해 특별히 존재합니다. plugin.xml의 IBM \ Lotus \ Notes \ framework \ shared \ eclipse \ plugins \ com.ibm.notes.mailsend8.5에서 볼 수 있습니다. * .jar.

유일한 문제는 첨부 파일 만 처리하고 다른 어떤 것도 액세스 할 수 없다는 것입니다. 그래서 누군가가 거기에서 제목과 메시지 텍스트를 얻는 방법을 찾으면 답장을 보내주십시오.

업데이트 : 알겠습니다.

NotesUIElement elem = (new NotesUIWorkspace()).getCurrentElement(); 
if (elem instanceof NotesUIDocument) { 
NotesUIDocument doc = ((NotesUIDocument) elem); 
String to = doc.getField("EnterSendTo").getText(); 
String cc = doc.getField("EnterCopyTo").getText(); 
String bcc = doc.getField("EnterBlindCopyTo").getText(); 
String subject = doc.getField("Subject").getText(); 
String body = doc.getField("Body").getText(); 
    .... 
} 
0

이클립스 플러그인이 어떻게하는지 모르겠습니다. 또한 Notes를 오프라인에서 사용할 수 있으므로 파일을 서버에 업로드 할 수없는 경우 Domino 서버에서 실행되는 코드를 사용하여 메일 메시지를 가로 채서 업로드하는 것이 좋습니다.

서버에서 메일 작업을 후크하는 대부분의 제품은 Lotus Notes C API의 Extension Manager 기능을 사용하여 EM_NSFNOTEUPDATE 이벤트에 대한 EM_BEFORE 알림을 연결하고 서버의 mail.box 파일 내에서 NSFNoteUpdate 작업이 발생하는지 확인한 다음 메시지에는 특별한 처리가 필요합니다 (즉, 버튼 코드가 ​​메시지에 삽입 한 특수 NotesItem을 찾는 경우). 이를위한 일반적인 코딩 방법은 메시지를 즉시 보류 상태로 변경하여 Domino 라우터에서 코드가 계속 작동하는 동안 메시지를 보내지 못하게하는 것입니다. 많은 제품에는 실제로 EM 후크 DLL과 후크 DLL에서 신호를 수신하고 메시지를 처리 ​​한 다음 보류 상태에서 해제하는 별도의 서버 작업이라는 두 가지 구성 요소가 있습니다. 이 방법은 코드가 큰 파일을 처리하는 동안 라우터 스레드를 묶지 않도록합니다.

(주 : 최신 버전의 Domino 서버는 Notes C API를 사용하는 대신 Java로 작성된 OSGI 플러그인을 이와 같은 작업에 사용할 수 있습니다.이 작업에 대한 작동 방식에 대해서는 자세히 검토하지 않았습니다. 그 메일 메시지를 처리합니다.)