2011-01-20 3 views
12

를 사용하여 첨부 파일로 이메일 보내기 내 로컬 설치, 생성하는 두꺼운 클라이언트 응용 프로그램 (Qt는/C++) 준비 - 투 - - 전송 클라이언트 컴퓨터에서 이메일 메시지를 :는 내가 필요로하는 고객의 이메일 응용 프로그램

  • 이 메시지에는 비교적 작은 (15K - 200K) 2 진 파일 내용이 있어야합니다.
  • 많은 사용자가이 메시지가 생성 될 때 연결이 끊어 지므로 나중에 이메일이 보낼 편지함에 있어야 할 수 있습니다.
  • 이 응용 프로그램은 Windows, Mac OS X 및 다양한 Linux 배포판 (Ubuntu/Debian 및 Fedora 공식 지원)에서 실행되며 특정 전자 메일 클라이언트를 설치해야한다는 요구 사항이 없습니다.

은 내가 이미 시도 :

  • attach (또는 attachment) 매개 변수 QDesktopServices::openUrl()를 사용하여 mailto: 링크를 엽니 다. 그러나 이러한 매개 변수는 공식적으로 프로토콜의 일부가 아니며 일부 클라이언트 (특히 Outlook)는이를 무시합니다.
  • Base64를 사용하여 파일을 인코딩하고 body 매개 변수의 일부로 추가합니다 (mailto: 링크). 그러나 mailto 링크의 길이는 일부 이메일 클라이언트 (다시 말하면 Outlook)에서 잘 리므로 잘 작동하지 않습니다.

Google Picasa는 응용 프로그램 내에서 사진을 보낼 때 (적어도 Windows에서는 다른 OS는 확인하지 않았 음)이 기능을 제공합니다. 첨부 파일과 미리 채워진 텍스트가있는 메시지를 만듭니다. 그런 다음 메시지를 편집하고 편리하게 보낼 수 있습니다. 어떻게 이런 생각을하고 있니?

답변

7

이 확장자를 가진 파일을 처리하기 위해 시스템에 등록 된 전자 메일 클라이언트가있는 한 .eml 파일을 만들어 원하는 효과를 줄 수 있습니다. 나는 이것이 mailto: 체계만큼 보편적이지 않다라고 확신하지만, mailto:이 당신을 위해 작동하지 않는다면 나는 이것을 시도하는 두 번째 최선의 선택 일 수 있다고 생각한다. http://www.coolutils.com/Formats/EML

에서

EML 파일이 업계 RFC 822 표준 을 준수하기 위해 생성되기 때문에, 그들은 대부분의 전자 메일 클라이언트, 서버 및 응용 프로그램을 사용할 수 있습니다. 은 Microsoft Outlook Express의 게다가 는 EML 파일은 마이크로 소프트 아웃룩, 마이크로 소프트의 측근, 모질라 썬더 버드, 애플 메일 및 IncrediMail의 대부분의 전자 메일 클라이언트를 사용하여 열 수 있습니다. 내가 Picasa에서 '이메일'을 클릭하면

사이드 노트
은 내가 (썬더 버드 또는 Google 메일) 내가 함께 이메일을 보내하려는 응용 프로그램을 선택할 수있는 대화 상자를 얻을. 즉, Picasa는 이메일을 보내는 데 사용되는 특정 이메일 클라이언트를 알고 있으며 선택한 이메일 클라이언트에만 해당하는 맞춤 방법을 사용하여 이메일을 보낼 수 있습니다. 이것은 당연한 추측이지만 Picasa는 사용자가 묻는 것을 수행 할 일반적인 방법이 없기 때문에 사용자가 이메일 클라이언트를 선택하게 할 수 있습니다.

4

나는 당신이 올바른 접근법을 사용하고 있다고 생각하지 않는다. MAPI/C++을 사용하십시오. 나는 MAPI/C++를 사용하여 Outlook/Thunderbird에서 여러 번이 작업을 수행했습니다.레지스트리를 쿼리하여 기본 이메일 클라이언트를 선택할 수 있습니다. 나는 모든 응용 프로그램이하는 일이라고 생각합니다.

또한 여기 얼마 전에 나는 플랫폼에 독립적 인 방식으로 '기본 이메일 클라이언트'를 열기위한 작은 도서관을 쓰기 시작했습니다 http://lists.trolltech.com/qt-interest/2006-02/thread00861-0.html

+2

+1, Windows 용 솔루션입니다. 불행히도이 질문은 크로스 플랫폼 솔루션이 필요하다는 것을 암시합니다 ... – Stobor

관련 문제