eMail in C++ schreiben?
-
http://msdn2.microsoft.com/en-us/library/0b24ddfb.aspx
Ich hab mir diesen link rausgesucht, aber irgentwie versteh ich das nicht, wieso zweit Klassen?
Kann mir vieleicht jemand ein kurzes Beispiel schreiben?
-
Artchi schrieb:
Du brauchst einne Library die halt eMails verschicken kann.
Er will sie doch nur _schreiben_...
Ja, das geht in C++.
-
Xclear schrieb:
http://msdn2.microsoft.com/en-us/library/0b24ddfb.aspx
Ich hab mir diesen link rausgesucht, aber irgentwie versteh ich das nicht, wieso zweit Klassen?
Kann mir vieleicht jemand ein kurzes Beispiel schreiben?
Nimm besser Klassen aus erster Hand.
int main() { cout << "Hallo Mail,\n\nThis is my first mail written in C++.\n\nRegards\nFirstClass"; return 0; }
-
Da hat wohl Jemand einen Spassvogel zum Abend gegessen, kann mich kaum halten vor Lachen.
-
Ich find die Sachen von Xclear auch ganz lustig.
-
Ups, ich meinte 2 Klassen und nich zweit Klassen.
Auf der MS-Seite stehen zwei Klassen die die genau den gleichen Namen haben aber unterschiedliches machen. Die Klassen erwarten beide 3 Parameter , aber mein Kompiler meint es wären 4.
Kann vieleicht jemand das Rätsel lösen?
-
-
-
SMTP ist nicht anderes als:
Öffenen eines Sockets, senden von bestimmten Befehlen (RFC) an den Server, schließen des Sockets.
Einfachen Code gibts in der FAQ-Linux.
-
Danke das ab ich verstanden
Geht der Code den auch für Windows?
-
Bei mir steht immer das "sys/socket.h" , "netinet/in.h" und "netdb.h" nicht geöffnet werden können. Sind die deswegen nicht in den INCLUDE-Verzeichnissen weil die Dateien nur für Linux gehen?
-
Richtig.
Die Windows Sockets sind von den BSD Sockets abgeleitet, aber der Code ist nicht 100% kompatibel.
Nähere Infos zur Programmierung im WinSock2 Kapitel der MSDN.
-
Ich hab selber einen Quellcode gefunden, nur versteh ich den nich ganz.
Es wird irgentwas mit mapi32.dll gemacht aberich weiß nich was.
Außerdem sprinkt bei jedem sendeversuch Outlock an und frag ob ich wirklich senden will, wie bekommt man das weg?#include <windows.h> #include <mapi.h> #include <tchar.h> #include <stdio.h> #define NUM_ELEMENTS(x) (sizeof((x)) / sizeof((x)[0])) int main() { LPMAPISENDMAIL pfnSendMail; MapiRecipDesc rdOriginator; MapiRecipDesc rdRecipient[1]; LPMAPILOGOFF pfnLogoff; LPMAPILOGON pfnLogon; MapiMessage mapimsg; HINSTANCE hDll; LHANDLE lHnd; if(NULL == (hDll = LoadLibrary(TEXT("MAPI32.DLL")))) { _tprintf(TEXT("could not load mapi32.dll, ErrorCode: %u"), GetLastError()); return 0; } pfnLogon = (LPMAPILOGON) GetProcAddress(hDll, "MAPILogon"); pfnLogoff = (LPMAPILOGOFF) GetProcAddress(hDll, "MAPILogoff"); pfnSendMail = (LPMAPISENDMAIL)GetProcAddress(hDll, "MAPISendMail"); pfnLogon(0, NULL, NULL, 0, 0, &lHnd); mapimsg.ulReserved = 0; mapimsg.lpszSubject = "Betreff"; mapimsg.lpszNoteText = "Text der als Massage angezeigt wird"; 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; mapimsg.lpFiles = NULL; rdOriginator.ulReserved = 0; rdOriginator.ulRecipClass = MAPI_ORIG; rdOriginator.lpszName = "rdOriginator"; rdOriginator.lpszAddress = "ich@irgentwo"; rdOriginator.ulEIDSize = 0; rdOriginator.lpEntryID = NULL; rdRecipient[0].ulReserved = 0; rdRecipient[0].ulRecipClass = MAPI_TO; rdRecipient[0].lpszName = "rdRecipient[0]"; rdRecipient[0].lpszAddress = "ich@irgentwo"; rdRecipient[0].ulEIDSize = 0; rdRecipient[0].lpEntryID = NULL; pfnSendMail(lHnd, NULL, &mapimsg, 0, 0); pfnLogoff(lHnd, 0, 0, 0); FreeLibrary(hDll); return 0; }
-
hi,
so weit ich weiss nutzt mapi die outlook engine zum senden von mails.
was du brauchst oder coden musst ist hier schon beschrieben worden.themen lauten:
socket programmierung
SMTP protokoll, vielleicht noch pop3 protokoll.fertig is das programm.
gruss
msp