2009-06-09 5 views
5

에서 전자 메일 메시지 텍스트를 얻기 위해 델파이를 사용하는 방법 :나는 Outlook과 지금 무엇 썬더 버드

나는 제품에 대한 이메일 주문을받을 수 있습니다. Outlook에서 하나 또는 여러 개의 전자 메일을 선택합니다 (단일 주문에는 여러 개의 전자 메일이 연결될 수 있음). 그런 다음 Delphi 코딩 된 OrderManager 프로그램으로 전환하고 "가져 오기"를 클릭하십시오. Outlook의 COM 자동화 인터페이스를 사용하여 각 메시지의 텍스트를 읽고 구문 분석하고 각 메시지를 처리합니다.

질문은, 대신 Thunderbird를 사용하여이 작업을 수행 할 수 있습니까? Thunderbird에는 COM 인터페이스가 있습니까? 나는 아직 아무 것도 찾지 못했기 때문에 잘못된 키워드로 인터넷 검색을해야합니다.

Btw, 나는 Indy를 사용하여 이메일 서버에서 직접 이메일을 읽는 OrderManager 버전을 가지고 있지만 여러 가지 이유로 Firefox에서 읽으려고합니다.

제안 사항, 문서 링크 또는 코드 샘플을 제공해 주시면 대단히 감사하겠습니다.

답변

5

확인하십시오. link을 확인하십시오.

XPCOM 주위에 C 또는 C++ 래퍼를 작성한 다음 Delphi 내에서 해당 래퍼를 사용할 수 있습니다.

오픈 소스 XPCOM wrapper written in Delphi도 있습니다. 그걸 확인하고 싶을 수도 있습니다. 그 점을 지적 해 주셔서 감사합니다 Stijn.

희망이 있습니다.

+1

필자는 Delphi에서 XPCOM wrapper를 사용 해왔다 : http://d-gecko.svn.sourceforge.net/viewvc/d-gecko/trunk/GeckoSDK/ –

+0

Thanks Pablo and Stijn! 매우 도움이됩니다. – MarkF

3

썬더 버드의 사서함 파일을 직접 파싱 할 수도 있습니다. 프로필 폴더의 위치 %APPDATA%\Thunderbird\profiles.ini 가입일

  • ,
  • 각 (값 Default=1을 갖는 하나 .. 부 Profile0 통해 보면, 하나 개 이상의 프로파일이 있는지 ProfileN)를 읽을 프로필 폴더의 Mail 및/또는 ImapMail 하위 폴더의 하위 폴더는 계정을 나타내며 Mail은 POP 계정을 포함하고 ImapMail은 IMAP 계정을 포함합니다.
  • 내용이 'From'(F, r, o, m 및 공백)으로 시작하는 .dat 또는 .msf로 끝나지 않는 모든 파일, 즉 을 살펴보십시오. 그것들은 mailbox files입니다.
  • 'From '로 시작하는 모든 행은 새로운 메시지를 나타냅니다. X-Mozilla-Status header을 사용하여 메시지가 여전히 유효한지 또는 삭제 표시되었는지 확인하십시오. 원하는 경우 CDO.Message COM 개체를 사용하여 메시지를 구문 분석 할 수 있습니다. 즉 해당 사서함의 하위 폴더를 포함하기 때문에

당신은, '.sbd'에 끝나는 각 하위 폴더에 대한 재귀해야한다 (예를 들어 Inbox.sbd받은 편지함에서 메일 폴더를 포함합니다).

그러나 파일 잠금 문제에주의하십시오.

관련 문제