MIME



  • hi zusammen,

    hat jemand ahnung/beschreibung wie ich mittels MIME einen anhang an eine email anhaenge?

    thx



  • Das Format für solche MIME codierten MultiPart Dokumente steht in der entsprechenden RFC.
    http://www.faqs.org/rfcs/rfc2045.html

    Ich hoffe ich konnte dir weiterhelfen.



  • ich verzveifle langsam...(2 tage bereits)... also, wie man über smtp email versendet weiss ich.
    aber wie ich das mittels MIME tuen, soll hab keinen plan.

    auf jeden fall funzt folgender code nicht 😞

    #include <windows.h>  
    #include <winsock.h>
    #include <process.h>
    
    #pragma comment (lib, "wsock32.lib")
    
    VOID fEmailSenden (PVOID) ;
    
    int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){  
    	struct sockaddr_in		server ;
    	SOCKET					sock ;
    	char					command[200],
    							szHost[] = "mail.epost.de" ;
    	unsigned int			iFor ;
    	short					wVersionRequested ;
    	WSADATA					wsaData ;
    	struct hostent			*he ;
    	char					*smtp[] = {	
    		"From: ich@epost.de\r\n",
    		"To: du@epost.de\r\n",
    		"Subject: Test\r\n",
    		"Mime-Version: 1.0\r\n",
    		"Content-Type: multipart/mixed; boundary=\"----=_NextPart_000_0065_01C364A6.BEC5D210\"\r\n",
    		"this ist a multipart message in MIME format.\r\n",
    		"\r\n\r\n",
    		"------=_NextPart_000_0065_01C364A6.BEC5D210\r\n",
    		"Content-Type: text/plain; charset=\"iso-8859-1\"\r\n",
    		"Content-Transfer-Encoding: 7bit\r\n",
    		"\r\n",
    		"hallo hallo hallo\r\n",
    		"\r\n\r\n",
    		"------=_NextPart_000_0065_01C364A6.BEC5D210\r\n",
    		"Content-Type: text/plain; charset=\"US-ASCII\"\r\n",
    		"\r\n",
    		"hallo ich bins\r\n",
    		"------=_NextPart_000_0065_01C364A6.BEC5D210--\r\n"} ;
    	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 ;
    	}
    	for(iFor = 0; iFor <= 17; iFor++){
    		strcpy (command, smtp[iFor]) ;
    		send (sock, command, lstrlen (command), 0) ;
    	}
    	closesocket (sock) ;
    	WSACleanup () ;
    	return 0 ;
    }
    

    hat jemand ideen?



  • hat sich erledigt... 🙂



  • Und woran lag es jetzt?



  • ich habe gedacht dass man MIME ohne smtp benuzen kann, aber so ist das nicht. wenn du emails mit anhang (mittels MIME) versenden willst, musst du dich troz dem über smtp auf dem server ein- und auslogen.
    aber jetzt funzt.... hehe

    Danke an @Rastachiller


Anmelden zum Antworten