Emails senden
-
Hi,
ich habe vor ein Programm zu erstellen das eine Email an hansmeier48@gmx.net (Testaccount
) sendet. Die Email kommt aber nicht an. Kann aber auch meinen Fehler nicht erkennen. Vielleicht könnt ihr mir ja helfen.#include <windows.h> #include <stdio.h> char Data[MAX_PATH]; int main() { WSADATA wsadata; SOCKET sock; if(WSAStartup(MAKEWORD(2, 2), &wsadata) != 0) { MessageBox(NULL, "Fehler bei der Initialization !", "Fehler", MB_OK | MB_ICONERROR); } sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if(sock == INVALID_SOCKET) { MessageBox(NULL, "Fehler beim Erstellen des Socket's !", "Fehler", MB_OK | MB_ICONERROR); } sockaddr_in client; client.sin_port=htons(25); client.sin_addr.s_addr=inet_addr("213.165.64.21"); client.sin_family=AF_INET; if(connect(sock,(sockaddr*)&client, sizeof(client)) == SOCKET_ERROR) { MessageBox(NULL, "Connection to ip failed !", 0, MB_OK | MB_ICONWARNING); WSACleanup(); } recv(sock, Data, sizeof(Data), 0); send(sock,"helo ",strlen("helo "),0); printf(Data); printf("\n"); send(sock, "EHLO mail.gmx.net", sizeof("EHLO mail.gmx.net"), 0); recv(sock, Data, sizeof(Data), 0); printf(Data); printf("\n"); send(sock, "AUTH LOGIN", sizeof("AUTH LOGIN"), 0); recv(sock, Data, sizeof(Data), 0); printf(Data); printf("\n"); send(sock, "hansmeier48@gmx.net", sizeof("hansmeier48@gmx.net"), 0); recv(sock, Data, sizeof(Data), 0); printf(Data); printf("\n"); send(sock, "Passwort", sizeof("Passwort"), 0); recv(sock, Data, sizeof(Data), 0); printf(Data); printf("\n"); send(sock, "MAIL FROM: hansmeier48@gmx.net", sizeof("MAIL FROM: hansmeier48@gmx.net"), 0); recv(sock, Data, sizeof(Data), 0); printf(Data); printf("\n"); send(sock, "RCPT TO: hansmeier48@gmx.net", sizeof("RCPT TO: hansmeier48@gmx.net"), 0); recv(sock, Data, sizeof(Data), 0); printf(Data); printf("\n"); send(sock, "DATA", sizeof("DATA"), 0); recv(sock, Data, sizeof(Data), 0); printf(Data); printf("\n"); send(sock, "From: hansmeier48@gmx.net", sizeof("hansmeier48@gmx.net"), 0); recv(sock, Data, sizeof(Data), 0); printf(Data); printf("\n"); send(sock, "To: hansmeier48@gmx.net", sizeof("To: hansmeier48@gmx.net"), 0); recv(sock, Data, sizeof(Data), 0); printf(Data); printf("\n"); send(sock, "Subject: Hallo", sizeof("Subject: Hallo"), 0); recv(sock, Data, sizeof(Data), 0); printf(Data); printf("\n"); send(sock, "", sizeof(""), 0); recv(sock, Data, sizeof(Data), 0); printf(Data); printf("\n"); send(sock, "Hallo Onur.", sizeof("Hallo Onur."), 0); recv(sock, Data, sizeof(Data), 0); printf(Data); printf("\n"); send(sock, ".", sizeof("."), 0); recv(sock, Data, sizeof(Data), 0); printf(Data); printf("\n"); send(sock, "QUIT", sizeof("QUIT"), 0); recv(sock, Data, sizeof(Data), 0); printf(Data); printf("\n"); system("pause"); }
-
Es fehlt ein CR und die wertest die Antworten nicht aus...
-
Muss es außerdem nicht strlen anstatt sizeof heißen?
-
und wie kommt man darauf dafür MAX_PATH zu benutzen?