2013-06-27 3 views
0

첨부 파일을 특정 제목의 메일로 저장하는 추가 기능을 빌드하려고합니다. 지금까지 잘 작동하지만, 나는 내 필요에 잘못된 Eventhandler를 사용하고 있다고 생각합니다.Outlook 추가 기능, 오른쪽 이벤트 처리기

새 메일이 들어 오면 시작해야하며 전체받은 편지함 + 새 메일을 확인하십시오. Microsoft.Office.Interop.Outlook.ApplicationEvents_11_NewMailEventHandler()를 사용하여

기압 메신저
그래서 그는 단지 때문에 그 순간에, 새 항목없이받은 편지함받은 편지함의 새 메일 밤은 부분을 찾고

private void ThisAddIn_Startup(object sender, System.EventArgs e) 
    {     
     this.Application.NewMail += new Microsoft.Office.Interop.Outlook 
     .ApplicationEvents_11_NewMailEventHandler(ThisAddIn_NewMail); 


    } 

대신 무엇을 할 수 있습니까?

답변

0

전자 메일이 읽지 않는다고 가정 할 수 있으므로 읽지 않은 메시지를 찾기 위해 Items.Find/FindNext를 사용할 수 있어야합니다. 또는 마지막으로 처리 한 전자 메일의 날짜를 저장하고 Items.Find/FindNext를 사용하여 CreationTime이 일부 값보다 큰 메시지를 검색 할 수 있습니다.

+0

좋은 생각이지만, 새 항목이받은 편지함에 저장되기 전에 "NewMail"이벤트가 시작되기 때문에 추가 기능이 실행되는 동안 들어오는 메일 항목이 존재하지 않는다고 생각합니다. 새 메일을 검색 할 수 없습니다. 그게 내 해석이야 ... – RobertZ

+0

NewMail이 발생하면 항목에 액세스 할 수 있습니다. 그보다는 NewMailEx 이벤트를 사용할 수 있습니다.이 이벤트는 실제로 새 메시지의 항목 ID를 전달합니다. 이제 문제는 Exchange 사서함에 액세스하는 경우 Outlook (및 코드)이 실행되고 있지 않을 때 메시지가 도착할 수 있다는 것입니다. 그러면 Outlook이 시작될 때 온라인 모드에서 이벤트가 발생하지 않으며 (받은 편지함에 읽지 않은 새 메시지가 있음) 또는 캐시 된 모드 인 경우 Items.ItemAdd가 새 메일이 도착할 때받은 편지함 폴더에서 실행됩니다 로컬 (캐시 된) 저장소에 동기화됩니다. –

+0

고마워요! 이 정보와 약간의 도움이 게시물을 양식 : http://stackoverflow.com/questions/8562214/itemadd-event-on-a-public-folder-on-exchange 나는 성공했다 : D 조 – RobertZ