초보짱 님이 쓰신 글 :
: ShellExecute(0, "open", "
mailto:a@a.com", "", "", SW_SHOWNORMAL);
: 를 해서 아웃룩은 뛰웠는데...
: 본문내용과 파일을 첨부해야 하는데...
: 방법을 잘몰라서...
: 이렇게 글을 남깁니다...
:
저도 메일에 파일을 첨부하는 루틴이 필요해서 찾은 소스입니다.
원 소스의 출처는
http://www.richplum.co.uk/cbuilder/tutorials/semail/semail.html 이고 파일첨부 부분을 수정했습니다.
그리고 #include "MAPI.hpp"을 포함하셔야 TMapiMessage를 사용할 수 있습니다. 자세한 사항은 빌더 헬프에 나와 있으니 참고하시기 바랍니다. 도움이 되었기를...
TMapiMessage MapiMessage ;
int MError ;
MapiFileDesc* File = new MapiFileDesc ;
File->ulReserved = 0 ;
File->flFlags = MAPI_OLE_STATIC ;
File->nPosition = 1 ;
File->lpszPathName = TempDirFile.c_str() ; // 첨부될 파일의 경로를 지정해줍니다.
File->lpszFileName = FileName.c_str() ; // 수신쪽에 표시될 파일명입니다. 지정하지 않으면 lpszPathName이 사용됩니다.
File->lpFileType = NULL ;
MapiMessage.ulReserved = 0;
MapiMessage.lpszSubject = NULL ;
MapiMessage.lpszNoteText = NULL ;
MapiMessage.lpszMessageType = NULL;
MapiMessage.lpszDateReceived = NULL;
MapiMessage.lpszConversationID = NULL;
MapiMessage.flFlags = 0;
MapiMessage.lpOriginator = NULL;
MapiMessage.nRecipCount = 0;
MapiMessage.lpRecips = NULL;
MapiMessage.nFileCount = 1;
MapiMessage.lpFiles = File ;
MError = MapiSendMail(0, reinterpret_cast< unsigned int >(Application->Handle),
MapiMessage, MAPI_DIALOG | MAPI_NEW_SESSION, 0);
if (MError)
ShowMessage("OutLook Express가 기본 메일 프로그램으로 등록되어 있지 않습니다.");
delete File ;