<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[E-Mail Client - bekommt keine Daten]]></title><description><![CDATA[<p>Hallo!<br />
Ich muss einen E-Mail Client schreiben. Eigentlich funktionierts ja, allerdings bekomme ich nie etwas vom Server zurückgesendet bzw empfange ich es nicht. Bei SMTP macht ja das noch nicht soviel aus. Ich sende die Befehle zum Senden einer E-Mail an den Server und er sendet sich auch tatsächlich.<br />
Allerdings kommt keine Bestätigung zurück oder sonst irgendwas.<br />
Bei SMTP brauch ich das nicht unbedingt, beim E-Mails abrufen (POP3) wirds dann schon schwieriger ohne Rückgabewerte.<br />
Könnt ihr vielleicht irgendwas im Code entdecken, was falsch ist?</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &lt;winsock.h&gt;

#include &lt;stdio.h&gt;
#pragma comment(lib, &quot;ws2_32.lib&quot;)

SOCKET ss;
WSADATA wsaData;
struct sockaddr_in sa;

//Daten vom SOCKET holen

int holen(char * buf){

	char buffer[4096] = &quot;&quot;;
	recv(ss,buffer,strlen(buffer),0);
	strcpy(buf,buffer);

	return 0;

}

//zum senden (bissl umstaendlich, aber is nur mal zum testen)
int senden(){
	//Socket senden
	char text[255] =&quot;&quot;;
	strcpy(text, &quot;HELO&quot;);
	strcat(text, &quot;\r\n&quot;);
	return send(ss,text,strlen(text),0);

}
int senden1(){
	//Socket senden
	char text1[255] =&quot;&quot;;
	strcpy(text1, &quot;MAIL FROM: nikolaus@szu.at&quot;);
	strcat(text1, &quot;\r\n&quot;);
	return send(ss,text1,strlen(text1),0);

}
int senden2(){
	//Socket senden
	char text2[255] =&quot;&quot;;
	strcpy(text2, &quot;RCPT TO: projekt@rek.at&quot;);
	strcat(text2, &quot;\r\n&quot;);
	return send(ss,text2,strlen(text2),0);

}
int senden3(){
	//Socket senden
	char text3[255] =&quot;&quot;;
	strcpy(text3, &quot;DATA&quot;);
	strcat(text3, &quot;\n&quot;);
	strcat(text3, &quot;blaba&quot;);
	strcat(text3, &quot;\n&quot;);
	strcat(text3, &quot;.&quot;);
	strcat(text3, &quot;\r\n&quot;);
	return send(ss,text3,strlen(text3),0);

}
//Diese Methode initialisiert einmal die WinSock.dll
//(ist vor dem gebrauch von sockets unbedingt erforderlich)
void winsockini(void){

	WORD wVersionReg = MAKEWORD(1, 1); 

   if (int err = WSAStartup(wVersionReg, &amp;wsaData) != 0) 
   { 
    printf(&quot;Fehler: Initialisieren - WinSock.dll!&quot;); 
   } 

};

int wconnect(char* IP, int Port){

	ss = INVALID_SOCKET;

	sa.sin_family = AF_INET;
	sa.sin_addr.s_addr = inet_addr(IP);
	sa.sin_port = htons(Port);

	winsockini(); //&lt;---- ich rufe die funktion zum initialisieren hier auf
 	ss = socket(AF_INET,SOCK_STREAM,0);

	if(connect(ss,(struct sockaddr *) &amp;sa,sizeof(sa)) == SOCKET_ERROR){
		return SOCKET_ERROR;
	};

	return 1;

};

int _tmain(int argc, _TCHAR* argv[])
{
	char eingabe[200] = &quot;&quot;;
	char rbuffer[200] = &quot;&quot;;

	if(wconnect(&quot;80.86.187.192&quot;,25) != SOCKET_ERROR){
		printf(&quot;Verbunden\n&quot;);
		senden();
		while(!strlen(rbuffer))
		{
		holen(rbuffer);
		}
		printf(&quot;%s&quot;, rbuffer);

		//senden(&quot;DATA test.at\r\n&quot;);
		senden1();
		senden2();
		senden3();
		while(!strlen(rbuffer))
		{
		holen(rbuffer);
		}
		printf(&quot;%s&quot;, rbuffer);

	}else{
		return 1;
	}
		printf(&quot;Bitte geben sie die Emailadresse ein:\n&quot;);
		//scanf(&quot;%d&quot;, &amp;eingabe);
		//senden(eingabe);

	getchar();
	getchar();
	return 0;
	system(&quot;PAUSE&quot;);

}
</code></pre>
<p>Danke für eure Hilfe, lg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/132733/e-mail-client-bekommt-keine-daten</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Jul 2026 06:19:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/132733.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 12 Jan 2006 16:56:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to E-Mail Client - bekommt keine Daten on Thu, 12 Jan 2006 16:56:03 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Ich muss einen E-Mail Client schreiben. Eigentlich funktionierts ja, allerdings bekomme ich nie etwas vom Server zurückgesendet bzw empfange ich es nicht. Bei SMTP macht ja das noch nicht soviel aus. Ich sende die Befehle zum Senden einer E-Mail an den Server und er sendet sich auch tatsächlich.<br />
Allerdings kommt keine Bestätigung zurück oder sonst irgendwas.<br />
Bei SMTP brauch ich das nicht unbedingt, beim E-Mails abrufen (POP3) wirds dann schon schwieriger ohne Rückgabewerte.<br />
Könnt ihr vielleicht irgendwas im Code entdecken, was falsch ist?</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &lt;winsock.h&gt;

#include &lt;stdio.h&gt;
#pragma comment(lib, &quot;ws2_32.lib&quot;)

SOCKET ss;
WSADATA wsaData;
struct sockaddr_in sa;

//Daten vom SOCKET holen

int holen(char * buf){

	char buffer[4096] = &quot;&quot;;
	recv(ss,buffer,strlen(buffer),0);
	strcpy(buf,buffer);

	return 0;

}

//zum senden (bissl umstaendlich, aber is nur mal zum testen)
int senden(){
	//Socket senden
	char text[255] =&quot;&quot;;
	strcpy(text, &quot;HELO&quot;);
	strcat(text, &quot;\r\n&quot;);
	return send(ss,text,strlen(text),0);

}
int senden1(){
	//Socket senden
	char text1[255] =&quot;&quot;;
	strcpy(text1, &quot;MAIL FROM: nikolaus@szu.at&quot;);
	strcat(text1, &quot;\r\n&quot;);
	return send(ss,text1,strlen(text1),0);

}
int senden2(){
	//Socket senden
	char text2[255] =&quot;&quot;;
	strcpy(text2, &quot;RCPT TO: projekt@rek.at&quot;);
	strcat(text2, &quot;\r\n&quot;);
	return send(ss,text2,strlen(text2),0);

}
int senden3(){
	//Socket senden
	char text3[255] =&quot;&quot;;
	strcpy(text3, &quot;DATA&quot;);
	strcat(text3, &quot;\n&quot;);
	strcat(text3, &quot;blaba&quot;);
	strcat(text3, &quot;\n&quot;);
	strcat(text3, &quot;.&quot;);
	strcat(text3, &quot;\r\n&quot;);
	return send(ss,text3,strlen(text3),0);

}
//Diese Methode initialisiert einmal die WinSock.dll
//(ist vor dem gebrauch von sockets unbedingt erforderlich)
void winsockini(void){

	WORD wVersionReg = MAKEWORD(1, 1); 

   if (int err = WSAStartup(wVersionReg, &amp;wsaData) != 0) 
   { 
    printf(&quot;Fehler: Initialisieren - WinSock.dll!&quot;); 
   } 

};

int wconnect(char* IP, int Port){

	ss = INVALID_SOCKET;

	sa.sin_family = AF_INET;
	sa.sin_addr.s_addr = inet_addr(IP);
	sa.sin_port = htons(Port);

	winsockini(); //&lt;---- ich rufe die funktion zum initialisieren hier auf
 	ss = socket(AF_INET,SOCK_STREAM,0);

	if(connect(ss,(struct sockaddr *) &amp;sa,sizeof(sa)) == SOCKET_ERROR){
		return SOCKET_ERROR;
	};

	return 1;

};

int _tmain(int argc, _TCHAR* argv[])
{
	char eingabe[200] = &quot;&quot;;
	char rbuffer[200] = &quot;&quot;;

	if(wconnect(&quot;80.86.187.192&quot;,25) != SOCKET_ERROR){
		printf(&quot;Verbunden\n&quot;);
		senden();
		while(!strlen(rbuffer))
		{
		holen(rbuffer);
		}
		printf(&quot;%s&quot;, rbuffer);

		//senden(&quot;DATA test.at\r\n&quot;);
		senden1();
		senden2();
		senden3();
		while(!strlen(rbuffer))
		{
		holen(rbuffer);
		}
		printf(&quot;%s&quot;, rbuffer);

	}else{
		return 1;
	}
		printf(&quot;Bitte geben sie die Emailadresse ein:\n&quot;);
		//scanf(&quot;%d&quot;, &amp;eingabe);
		//senden(eingabe);

	getchar();
	getchar();
	return 0;
	system(&quot;PAUSE&quot;);

}
</code></pre>
<p>Danke für eure Hilfe, lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/964789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/964789</guid><dc:creator><![CDATA[shadyworm]]></dc:creator><pubDate>Thu, 12 Jan 2006 16:56:03 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail Client - bekommt keine Daten on Thu, 12 Jan 2006 20:01:46 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=13512" rel="nofollow">c.rackwitz</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=10" rel="nofollow">ANSI C</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=4" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/964951</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/964951</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Thu, 12 Jan 2006 20:01:46 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail Client - bekommt keine Daten on Fri, 13 Jan 2006 06:49:42 GMT]]></title><description><![CDATA[<p>du holst die daten nur 2mal ab...im prinzip musst du das immer nach dem senden eines befehls machen, da der server ja darauf immer antwortet und jeweils anders reagiert (was du dann natürlich auch machen musst). könnte auch sein das die daten die du sendest fehlerhaft sind oder der server authentifikationen benötigt.</p>
<p>wenn du absolut keine nachrichten empfangen kannst, müsst ich mir den code nochmal genauer anschaun, bin nurmal drübergeflogen.</p>
<p>[edit 1]<br />
dein fehler ist hier:</p>
<pre><code class="language-cpp">int holen(char * buf){

    char buffer[4096] = &quot;&quot;;
    recv(ss,buffer,strlen(buffer),0);
    strcpy(buf,buffer);

    return 0;

}
</code></pre>
<p>so muss das heissen: recv(ss,buffer,sizeof(buffer),0);<br />
sonst wird als länge 0 übergeben und nichts wird ausm puffer geholt und in deinen geschrieben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>[edit 2]</p>
<pre><code class="language-cpp">int senden3(){
    //Socket senden
    char text3[255] =&quot;&quot;;
    strcpy(text3, &quot;DATA&quot;);
    strcat(text3, &quot;\n&quot;);
    strcat(text3, &quot;blaba&quot;);
    strcat(text3, &quot;\n&quot;);
    strcat(text3, &quot;.&quot;);
    strcat(text3, &quot;\r\n&quot;);
    return send(ss,text3,strlen(text3),0);

}
</code></pre>
<p>ein datenblock wird mit \r\n.\r\n abgeschlossen, nicht wie in deinem code!<br />
normale zeilenumbrüche sind immer \r\n</p>
<p><strong>TIPP</strong><br />
les dir die RFC zu SMTP durch!<br />
--&gt; <a href="http://www.faqs.org/rfcs/rfc821.html" rel="nofollow">http://www.faqs.org/rfcs/rfc821.html</a></p>
<p>MfG RadiatioN</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965129</guid><dc:creator><![CDATA[Radiation2K5]]></dc:creator><pubDate>Fri, 13 Jan 2006 06:49:42 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail Client - bekommt keine Daten on Fri, 13 Jan 2006 07:18:52 GMT]]></title><description><![CDATA[<p>Wäre es möglich, wenn du alle Code hier reinsetzten würdest, damit andere auch was davon haben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965137</guid><dc:creator><![CDATA[frager]]></dc:creator><pubDate>Fri, 13 Jan 2006 07:18:52 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail Client - bekommt keine Daten on Fri, 13 Jan 2006 08:45:38 GMT]]></title><description><![CDATA[<p>was willst du nach noch mehr? das ist doch schon alles, der rest steht in rfc's und lässt sich leicht umsetzen.</p>
<p>zum spam verschicken reicht das für dich doch sicherlich aus *spaß* <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> aber finde mal nen server der kein AUTH braucht, da gibt es kaum welche mehr <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>sobald man als absender was anderes angibt als man ist kommt die mail sowieso nie an -&gt; hab zig server probiert und keiner ging bisher nach der RFC-Standard STMP methode.</p>
<p>MfG RadiatioN</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965193</guid><dc:creator><![CDATA[Radiation2K5]]></dc:creator><pubDate>Fri, 13 Jan 2006 08:45:38 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail Client - bekommt keine Daten on Fri, 13 Jan 2006 11:29:25 GMT]]></title><description><![CDATA[<p>Ich ahbe aber nicht das hier -&gt; #pragma comment(lib, &quot;ws2_32.lib&quot;) und das warscheinlich auch nicht:stdafx.h</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965374</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965374</guid><dc:creator><![CDATA[frager]]></dc:creator><pubDate>Fri, 13 Jan 2006 11:29:25 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail Client - bekommt keine Daten on Fri, 13 Jan 2006 12:01:21 GMT]]></title><description><![CDATA[<p>Danke Radiation2K5! Du hast mir grad eine positive Note gesichert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Hab schon die Hoffnung aufgegeben, dass hier wer schreibt und um halb eins musst ich das abgeben und um 12:25 hab ichs ca. gesehn <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Hab das ganze jetzt auch noch mit POP3 und schönem Menü und so gemacht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Der Fehler war halt das strlen statt sizeof <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Also danke nochmal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965400</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965400</guid><dc:creator><![CDATA[shadyworm]]></dc:creator><pubDate>Fri, 13 Jan 2006 12:01:21 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail Client - bekommt keine Daten on Fri, 13 Jan 2006 12:33:39 GMT]]></title><description><![CDATA[<p>nur bräucht ich jetzt auch noch gute noten (in BWL, *bäh*) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>oh wäre das schön wenn wir sowas in berufschule machen würden, aber nein da machen wir klassen grundlagen und datenbanken in access <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/26040">@frager</a>:<br />
du könntest genausogut die header für winsock includen das geht genauso, bzw. dann die libs in den compiler optionen hinzufügen.<br />
und &quot;stdafx.h&quot; wirste wohl vermutlich nur beim VC++ brauchen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> das sind vorkompilieret header und M$ compiler spezifisch (soweit ich das kenn)<br />
bei anderen compilern gibt es das bestimmt auch, nur kenn ich keine anderen und dementsprechend auch nicht wie es dort ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>btw: man kann in der msdn nachschaun wie die header dazu heissen, immer diese faulheit <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>MfG RadiatioN</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965428</guid><dc:creator><![CDATA[Radiation2K5]]></dc:creator><pubDate>Fri, 13 Jan 2006 12:33:39 GMT</pubDate></item></channel></rss>