email verschicken über smtp
-
nimm das empfangen aus der while schleife raus (nach dem senden der DATA, empfängst du erst mal nichts bis du QUIT sendest... deswegen warscheinlich geht es nicht.) und ich glaube die "MAIL FROM" und "RCPT TO" da mussen die emailadressen in "<>" stehen also z.b. "MAIL FROM: test@test.de"
mfg
toom
-
"Relaying denied" - der web.de mailserver will wohl vorher noch deinen benutzernamen und passwort haben...
-
toom schrieb:
nimm das empfangen aus der while schleife raus (nach dem senden der DATA, empfängst du erst mal nichts bis du QUIT sendest... deswegen warscheinlich geht es nicht.) und ich glaube die "MAIL FROM" und "RCPT TO" da mussen die emailadressen in "<>" stehen also z.b. "MAIL FROM: test@test.de"
mfg
toomhi toom! willst du die source von mir habn wo alles fix und fertig zum email versenden?? meld dich bei mir!!! man kann auch files mitschicken;-)
cu!
-
Surfman schrieb:
hi toom! willst du die source von mir habn wo alles fix und fertig zum email versenden??
nein, ich habe lafenden code (incl. MIME). aber danke für dein angebot.
-
aso...dann schick mir mal deinen code bitte, mag mal schauen wie du das gelöst hast! an: surfman19@gmx.at
thxcu
-
Genau! Und wenn du schon mal dabei bist/warst: nirsaja@web.de
-
ist unterwegs...
-
@Surfman
Kannst du mir das Prog. bitte auch schicken? BennyVorwalder@web.de
-
ok ich schicke;-) comments erwünscht;-)
-
bei so vielen nachfragen poste ich den code :
#include <windows.h> #include <winsock.h> #pragma comment (lib, "wsock32.lib") #define HELO_MAX 4 BOOL fHeloSenden (SOCKET) ; BOOL fBodySenden (SOCKET) ; BOOL fQuitSenden (SOCKET) ; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){ struct sockaddr_in server ; SOCKET sock ; char command[200], buff[100], szHost[] = "mail.gmx.net" ; unsigned int iFor, iEmpfangen ; short wVersionRequested ; WSADATA wsaData ; struct hostent *he ; ZeroMemory (&server, sizeof (sockaddr_in)) ; wVersionRequested = MAKEWORD (1, 1) ; WSAStartup (wVersionRequested, &wsaData) ; if (!(he = gethostbyname (szHost))){ MessageBox (NULL, "gethostbyname", "Fehler", NULL) ; return 1 ; } if (he->h_addrtype != AF_INET){ MessageBox (NULL, "AF_INET", "Fehler", NULL) ; return 2 ; } if (!he->h_addr_list[0]){ MessageBox (NULL, "he->h_addr_list[0]", "Fehler", NULL) ; return 3 ; } server.sin_family = AF_INET ; server.sin_port = htons (25) ; server.sin_addr = *(struct in_addr*) he->h_addr_list[0] ; if ((sock = socket (PF_INET, SOCK_STREAM, 0)) == -1){ MessageBox (NULL, "socket", "Fehler", NULL) ; return 4 ; } if (connect (sock, (struct sockaddr*) &server, sizeof (struct sockaddr)) < 0){ MessageBox (NULL, "connect", "Fehler", NULL) ; return 5 ; } fHeloSenden (sock) ; fBodySenden (sock) ; fQuitSenden (sock) ; closesocket (sock) ; WSACleanup () ; return 0 ; } BOOL fHeloSenden (SOCKET sock){ char *smtp[] = { "HELO tescik\r\n", "MAIL FROM: <email@email.de>\r\n", "RCPT TO: <email@email.de>\r\n", "DATA\r\n", "From: ich\r\nTo: ich\r\nSubject: Test\r\n"} ; char command[100], buff[100] ; unsigned int iEmpfangen = 0, iFor = 0 ; for(iFor = 0; iFor <= HELO_MAX; iFor++){ strcpy (command, smtp[iFor]) ; send (sock, command, lstrlen (command), 0) ; if (iFor != HELO_MAX){ iEmpfangen = recv (sock, buff, sizeof (buff), 0) ; buff[iEmpfangen] = '\0' ; MessageBox (NULL, (LPTSTR) buff, "empfang", NULL) ; } } return 0 ; } BOOL fBodySenden (SOCKET sock){ char *smtp[] = { "Mime-Version: 1.0\r\n", "Content-Type: multipart/mixed; boundary=\"IstEineID\"\r\n\r\n", "--IstEineID\r\n", "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n", "Content-Transfer-Encoding: 7bit\r\n\r\n", "Teil 1 der email\r\n", "--IstEineID\r\n", "Content-Type: text/plain; charset=\"US-ASCII\"\r\n\r\n", "Teil 2 der email (so zu sagen anhang... hehehe)\r\n", "--IstEineID--"} ; char command[100], buff[100] ; unsigned int iEmpfangen = 0, iFor = 0 ; for(iFor = 0; iFor <= 9; iFor++){ strcpy (command, smtp[iFor]) ; send (sock, command, lstrlen (command), 0) ; } return 0 ; } BOOL fQuitSenden (SOCKET sock){ char *smtp[] = { "\r\n.\r\n", "QUIT\r\n", "QUIT\r\n"} ; char command[100], buff[100] ; unsigned int iEmpfangen = 0, iFor = 0 ; for(iFor = 0; iFor <= 2; iFor++){ strcpy (command, smtp[iFor]) ; send (sock, command, lstrlen (command), 0) ; iEmpfangen = recv (sock, buff, sizeof (buff), 0) ; buff[iEmpfangen] = '\0' ; MessageBox (NULL, (LPTSTR)buff, "empfang", NULL) ; } return 0 ; }
mfg
toom