Announcement

Collapse
No announcement yet.

EMail versenden mit MAPISendMail

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • EMail versenden mit MAPISendMail

    Hallo,
    wenn ich mit dem folgenden Code ein Email versenden will, Dann funzt das zwar unter Win 2000 und me jedoch nicht mit Win9x. Kann mir jemand sagen, was ich falsch mache?

    Danke im voraus.

    ube

    <HR size="1" color="#dedfdf">
    <FONT SIZE="2" FACE="Verdana, Arial">
    <pre class="CppCode">
    <b class="Keyword">char</b> *c = calloc(7,MAX_PATH);
    <b class="Keyword">char</b> *cTemp = c + MAX_PATH;
    GetTempPath(MAX_PATH,c);
    GetTempFileName(c,"tmp",NULL,cTemp);
    <b class="Keyword">if</b>(Speichern(hEditWnd,cTemp)){
    HMODULE hlibMAPI = LoadLibrary("MAPI32.DLL");
    <b class="Keyword">if</b>(hlibMAPI){
    LPMAPILOGON MAPILogon = (LPMAPILOGON) GetProcAddress(hlibMAPI,"MAPILogon");
    LPMAPISENDMAIL MAPISendMail = (LPMAPISENDMAIL)GetProcAddress(hlibMAPI,"MAPISendM ail");
    LPMAPILOGOFF MAPILogoff = (LPMAPILOGOFF) GetProcAddress(hlibMAPI,"MAPILogoff");
    <b class="Keyword">unsigned</b> <b class="Keyword">long</b> hSession;
    MapiMessage Message = {0};
    MapiFileDesc Files = {0};
    MapiRecipDesc Recips = {0};
    <b class="Comment">//
    </b> <b class="Keyword">if</b>(MAPILogon(0,NULL,NULL,0,0,&hSession) == SUCCESS_SUCCESS){
    <b class="Keyword">char</b> *cName = c + (MAX_PATH * 2);
    <b class="Keyword">char</b> *cAdresse = c + (MAX_PATH * 3);
    <b class="Keyword">char</b> *cBetreff = c + (MAX_PATH * 4);
    <b class="Keyword">char</b> *cText = c + (MAX_PATH * 5);
    <b class="Keyword">char</b> *cFileName = c + (MAX_PATH * 6);
    <b class="Keyword">unsigned</b> <b class="Keyword">long</b> ulRet;
    <b class="Comment">//
    </b> <b class="Keyword">if</b>(szFileName[0] == 0){
    LoadString(hInst,11,cFileName,80);
    strcat(cFileName,".txt");
    }
    <b class="Keyword">else</b> strcpy(cFileName,szFileName);
    <b class="Comment">//
    </b> Files.nPosition = -1;
    Files.lpszFileName = cFileName;
    Files.lpszPathName = cTemp;
    <b class="Comment">//
    </b> strcpy(cName,"Test");
    strcpy(cAdresse,"[email protected]");
    strcpy(cBetreff,"Test");
    strcpy(cText,"Das ist ein Test");
    <b class="Comment">//
    </b> Recips.ulRecipClass = MAPI_TO;
    Recips.lpszName = cName;
    Recips.lpszAddress = cAdresse;
    <b class="Comment">//
    </b> Message.lpszSubject = cBetreff;
    Message.lpszNoteText = cText;
    Message.nRecipCount = 1;
    Message.lpRecips = &Recips;
    Message.nFileCount = 1;
    Message.lpFiles = &Files;
    <b class="Comment">//
    </b> ulRet = MAPISendMail(hSession,(ULONG)hWnd,&Message,MAPI_DI ALOG | MAPI_LOGON_UI | MAPI_NEW_SESSION,0);
    <b class="Keyword">if</b>(ulRet == SUCCESS_SUCCESS) MsgBox(hWnd,22,cFileName,NULL,MB_ICONSTOP);
    }
    <b class="Comment">//
    </b> DeleteFile(cTemp);
    MAPILogoff(hSession,0,0,0);
    FreeLibrary(hlibMAPI);
    }
    <b class="Keyword">else</b> MsgBox(hWnd,21,NULL,0,MB_ICONSTOP);
    }
    free(c);</pre>
    </FONT>

  • #2
    Man merkt ich komme hier nur selten vorbei.<br>
    Ich habe zwar keine Ahnung was jetzt an deinem code falsch ist, aber ich weiss das die Jedi Code Library (http://www.delphi-jedi.org/Jedi:CODELIBJCL) eine MAPI unit hat

    Comment

    Working...
    X