e-mail verschicken
-
man war doch ned ernst gemeint.
-
Auf www.winapi.de.vu gibt's ein Beispiel.
[ Dieser Beitrag wurde am 20.12.2002 um 20:18 Uhr von Anaconda editiert. ]
-
Genau, hier noch die direkte URL für Klickfaule ;):
http://home.t-online.de/home/pikfloete/schnipsel/simplemapi.html
cya
-
danke
@mesta häh
-
Welche Header muss ich einbinden??
-
mapi.h
-
was ist _tprintf(); für ne function weil bei mir der compiler dort eine Fehlermeldung gibt:
implicit declaration of function int _tprintf(...);
das selbe nochmal bei int NUM_ELEMENTS(...);
-
Ok, _tprintf ist meines Wissens in tchar.h deklariert, oder?
NUM_ELEMENTS ist nur ein Makro, ich glaub das geht so:#define NUM_ELEMENTS(x) (sizeof(x)/sizeof(x[0]))
cya
-
_tprintf ist nicht in tchar.h deklariert da es bei mir nicht funktioniert andere vorschläge
NUM_ELEMENTS funktioniert jetzt.
-
Ich bin mir jetzt auch nicht ganz im Klaren, wo das deklariert ist, aber nimm doch einfach MessageBox :), denn meiner Meinung nach dient das nur der Ausgabe von Text.
cya
-
bei mir schickt er keine mail obwhl alles Compiliert wird hier meine funktion
BOOL EMail (HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) { switch(Message) { case WM_INITDIALOG: SetDlgItemText(hwnd, IDC_EMAIL_TEXT, "Ich habe ein Problem mit ..."); return TRUE; case WM_COMMAND: { switch(LOWORD(wParam)) { case IDC_SENDEN: { BOOL correct = FALSE; int len = GetWindowTextLength(GetDlgItem(hwnd, IDC_SENDER)); char Sender[255]; GetDlgItemText(hwnd, IDC_SENDER, Sender, len+1); if(len==0) { MessageBox(hwnd, "Keine Eingabe bei Sender", "Hinweis", MB_ICONEXCLAMATION | MB_OK); }else correct=TRUE; len = GetWindowTextLength(GetDlgItem(hwnd, IDC_EMAIL_TEXT)); char Text[255]; GetDlgItemText(hwnd, IDC_EMAIL_TEXT, Text, len+1); if(len==0) { MessageBox(hwnd, "Keine Eingabe bei E-Mail Text", "Hinweis", MB_ICONEXCLAMATION | MB_OK); }else correct=TRUE; if(correct) { //E-mail versenden LPMAPISENDMAIL pfnSendMail; MapiRecipDesc rdOriginator; MapiRecipDesc rdRecipient[1]; LPMAPILOGOFF pfnLogoff; LPMAPILOGON pfnLogon; MapiMessage mapimsg; HINSTANCE hDll; LHANDLE lHnd; MapiFileDesc mapifiledesc[2]; if(NULL == (hDll = LoadLibrary(TEXT("MAPI32.DLL")))) { MessageBox(hwnd,"could not load mapi32.dll","Fehler", MB_ICONEXCLAMATION | MB_OK); return(0); } // Die Funktionen aus der DLL holen pfnLogon = (LPMAPILOGON)GetProcAddress(hDll, "MAPILogon"); pfnLogoff = (LPMAPILOGOFF)GetProcAddress(hDll, "MAPILogoff"); pfnSendMail = (LPMAPISENDMAIL)GetProcAddress(hDll, "MAPISendMail"); pfnLogon(0, NULL, NULL, 0, 0, &lHnd); // Einloggen mapimsg.ulReserved = 0; mapimsg.lpszSubject = "Service&Support K2K"; mapimsg.lpszNoteText = Text; // EMailtext mapimsg.lpszMessageType = NULL; mapimsg.lpszDateReceived = NULL; mapimsg.lpszConversationID = NULL; mapimsg.flFlags = 0; mapimsg.lpOriginator = &rdOriginator; mapimsg.nRecipCount = NUM_ELEMENTS(rdRecipient); mapimsg.lpRecips = rdRecipient; mapimsg.nFileCount = 0; //0 Dateien anhängen mapimsg.lpFiles = &mapifiledesc[0]; rdOriginator.ulReserved = 0; rdOriginator.ulRecipClass = MAPI_ORIG; rdOriginator.lpszName = 0; rdOriginator.lpszAddress = Sender; // Sender rdOriginator.ulEIDSize = 0; rdOriginator.lpEntryID = NULL; rdRecipient[0].ulReserved = 0; rdRecipient[0].ulRecipClass = MAPI_TO; rdRecipient[0].lpszName = "admin"; // Empfängername rdRecipient[0].lpszAddress = "SMTP:maurice100@gmx.de"; // Empfängeradresse rdRecipient[0].ulEIDSize = 0; rdRecipient[0].lpEntryID = NULL; mapifiledesc[1].lpFileType = 0; pfnSendMail(lHnd, 0, &mapimsg, 0, 0); // Das eigentliche Versenden pfnLogoff(lHnd, 0, 0, 0); // Ausloggen FreeLibrary(hDll); }else MessageBox(hwnd, "E-Mail wurde nicht gesendet", "Hinweis", MB_ICONEXCLAMATION | MB_OK); return 0; }break; case IDC_ENTFERNEN_E: { SetDlgItemText(hwnd, IDC_EMAIL_TEXT, ""); return 0; }break; case IDC_ZURUECK_E: { EndDialog(hwnd, IDC_ZURUECK_E); return 0; }break; default : return FALSE; } return TRUE; }break; case WM_CLOSE: { EndDialog(hwnd, 0); return TRUE; }break; default: return FALSE; } return TRUE; }
-
Hab den Code jetzt nur schnell überflogen, aber wenn du schon die Textlänge der Edit-Felder ermittelst, solltest du diesen Wert dann auch verwenden, und nicht immer '255'.
cya
-
komisch aufeinmal funktioniert es hab keinen plan wieso aber hauptsache es funktioniert juchu jepie so genug gefreut. :p :p :p :p
-
Hast du auch schön brav die richtige Längenangabe verwendet? Ho-ho!
cya
-
nö aber gleich