<?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 abholen und senden]]></title><description><![CDATA[<p>Ich hab das Problem, das ich mit dem unten angeführten Code versuche die Emails abzuholen, kommt ein error. Wenn ich versuche eine Email zu schreiben kommt ein Timeout vom smtp-Server.(Ich hab die angaben für smtp entsprechend geändert).</p>
<pre><code class="language-php">#include &lt;windows.h&gt;

#include &lt;winsock2.h&gt;

#include &lt;stdio.h&gt;//Prototypen
#include &lt;iostream&gt;

using namespace std;

int startWinsock(void);

long getAddrFromString(char* hostnameOrIp, SOCKADDR_IN* addr)

{

  long rc;

  unsigned long ip;

  HOSTENT* he;  /* Parameter prüfen */

  if(hostnameOrIp==NULL || addr==NULL)

    return SOCKET_ERROR;  /* eine IP in hostnameOrIp ? */

  ip=inet_addr(hostnameOrIp);  /* bei einem fehler liefert inet_addr den Rückgabewert INADDR_NONE */

  if(ip!=INADDR_NONE)

  {

    addr-&gt;sin_addr.s_addr=ip;

    return 0;

  }

  else

  {

    /* Hostname in hostnameOrIp auflösen */

    he=gethostbyname(hostnameOrIp);

    if(he==NULL)

    {

      return SOCKET_ERROR;

    }

    else

    {

      /*die 4 Bytes der IP von he nach addr kopieren */

      memcpy(&amp;(addr-&gt;sin_addr),he-&gt;h_addr_list[0],4);

    }

    return 0;

  }

}

void wait () 
{ 
    std::cin.clear(); 
    std::cin.ignore(std::cin.rdbuf()-&gt;in_avail()); 
    std::cin.get(); 
} 

int main()

{

  long rc;

  SOCKET s;

  SOCKADDR_IN addr;

  rc=startWinsock();

  if(rc!=0)

  {

    printf(&quot;Fehler: startWinsock, fehler code: %d\n&quot;,rc);

    return 1;

  }

  else

  {

    printf(&quot;Winsock gestartet!\n&quot;);

  }

  s=socket(AF_INET,SOCK_STREAM,0);

if(s==INVALID_SOCKET)

{

  printf(&quot;Fehler: Der Socket konnte nicht erstellt werden, fehler code: %d\n&quot;,WSAGetLastError());

  return 1;

}

else

{

  printf(&quot;Socket erstellt!\n&quot;);

}

  memset(&amp;addr,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzten 

addr.sin_family=AF_INET;

addr.sin_port=htons(110); // wir verwenden mal port 12345

//addr.sin_addr.s_addr=inet_addr(&quot;127.0.0.1&quot;); // zielrechner ist unser eigener

 rc=getAddrFromString(&quot;pop.web.de&quot;,&amp;addr); 
 if(rc==SOCKET_ERROR)
 {    
      printf(&quot;IP für %s konnte nicht aufgeloest werden\n&quot;);    
      return 1;  
 }  
 else  
 {    
      printf(&quot;IP aufgeloest!\n&quot;);  
 }

rc=connect(s,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR));

if(rc==SOCKET_ERROR)

{

  printf(&quot;Fehler: connect gescheitert, fehler code: %d\n&quot;,WSAGetLastError());

  //return 1;

}

else

{

  cout &lt;&lt; &quot;Verbunden mit smtp.web.de&quot; &lt;&lt; endl;

}
  int zahl = 0;
  char puffer[255] = &quot; &quot;;
  zahl = recv(s, puffer, 255, 0);
  if (zahl==SOCKET_ERROR) cout &lt;&lt; &quot;Error&quot;&lt;&lt; endl;
  cout &lt;&lt; zahl &lt;&lt; endl;
  cout &lt;&lt; puffer &lt;&lt; endl;
  strcpy(puffer, &quot; &quot;);
  Sleep(1000);
  zahl = send(s, &quot;USER xxx@web.de\0&quot;,17,0);
  if (zahl==SOCKET_ERROR) cout &lt;&lt; &quot;Error&quot;&lt;&lt; endl;
  cout &lt;&lt; zahl &lt;&lt; endl;
  zahl = recv(s, puffer, 255, 0);
  if (zahl==SOCKET_ERROR) cout &lt;&lt; &quot;Error&quot;&lt;&lt; endl;
  cout &lt;&lt; zahl &lt;&lt; endl;
  cout &lt;&lt; puffer &lt;&lt; endl;
  strcpy(puffer, &quot; &quot;);
  Sleep(1000);
  zahl = send(s, &quot;PASS PASSWORT\0&quot;, 17, 0);
  if (zahl==SOCKET_ERROR) cout &lt;&lt; &quot;Error&quot;&lt;&lt; endl;
  cout &lt;&lt; zahl &lt;&lt; endl;
  Sleep(100);
  zahl = recv(s, puffer, 255, 0);
  if (zahl==SOCKET_ERROR) cout &lt;&lt; &quot;Error&quot;&lt;&lt; endl;
  cout &lt;&lt; zahl &lt;&lt; endl;
  cout &lt;&lt; puffer &lt;&lt; endl;
  wait();
  return 0;

}
int startWinsock(void)

{

  WSADATA wsa;

  return WSAStartup(MAKEWORD(2,0),&amp;wsa);

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/203940/e-mail-abholen-und-senden</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 23:26:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203940.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 28 Jan 2008 13:07:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to E-Mail abholen und senden on Mon, 28 Jan 2008 13:07:51 GMT]]></title><description><![CDATA[<p>Ich hab das Problem, das ich mit dem unten angeführten Code versuche die Emails abzuholen, kommt ein error. Wenn ich versuche eine Email zu schreiben kommt ein Timeout vom smtp-Server.(Ich hab die angaben für smtp entsprechend geändert).</p>
<pre><code class="language-php">#include &lt;windows.h&gt;

#include &lt;winsock2.h&gt;

#include &lt;stdio.h&gt;//Prototypen
#include &lt;iostream&gt;

using namespace std;

int startWinsock(void);

long getAddrFromString(char* hostnameOrIp, SOCKADDR_IN* addr)

{

  long rc;

  unsigned long ip;

  HOSTENT* he;  /* Parameter prüfen */

  if(hostnameOrIp==NULL || addr==NULL)

    return SOCKET_ERROR;  /* eine IP in hostnameOrIp ? */

  ip=inet_addr(hostnameOrIp);  /* bei einem fehler liefert inet_addr den Rückgabewert INADDR_NONE */

  if(ip!=INADDR_NONE)

  {

    addr-&gt;sin_addr.s_addr=ip;

    return 0;

  }

  else

  {

    /* Hostname in hostnameOrIp auflösen */

    he=gethostbyname(hostnameOrIp);

    if(he==NULL)

    {

      return SOCKET_ERROR;

    }

    else

    {

      /*die 4 Bytes der IP von he nach addr kopieren */

      memcpy(&amp;(addr-&gt;sin_addr),he-&gt;h_addr_list[0],4);

    }

    return 0;

  }

}

void wait () 
{ 
    std::cin.clear(); 
    std::cin.ignore(std::cin.rdbuf()-&gt;in_avail()); 
    std::cin.get(); 
} 

int main()

{

  long rc;

  SOCKET s;

  SOCKADDR_IN addr;

  rc=startWinsock();

  if(rc!=0)

  {

    printf(&quot;Fehler: startWinsock, fehler code: %d\n&quot;,rc);

    return 1;

  }

  else

  {

    printf(&quot;Winsock gestartet!\n&quot;);

  }

  s=socket(AF_INET,SOCK_STREAM,0);

if(s==INVALID_SOCKET)

{

  printf(&quot;Fehler: Der Socket konnte nicht erstellt werden, fehler code: %d\n&quot;,WSAGetLastError());

  return 1;

}

else

{

  printf(&quot;Socket erstellt!\n&quot;);

}

  memset(&amp;addr,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzten 

addr.sin_family=AF_INET;

addr.sin_port=htons(110); // wir verwenden mal port 12345

//addr.sin_addr.s_addr=inet_addr(&quot;127.0.0.1&quot;); // zielrechner ist unser eigener

 rc=getAddrFromString(&quot;pop.web.de&quot;,&amp;addr); 
 if(rc==SOCKET_ERROR)
 {    
      printf(&quot;IP für %s konnte nicht aufgeloest werden\n&quot;);    
      return 1;  
 }  
 else  
 {    
      printf(&quot;IP aufgeloest!\n&quot;);  
 }

rc=connect(s,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR));

if(rc==SOCKET_ERROR)

{

  printf(&quot;Fehler: connect gescheitert, fehler code: %d\n&quot;,WSAGetLastError());

  //return 1;

}

else

{

  cout &lt;&lt; &quot;Verbunden mit smtp.web.de&quot; &lt;&lt; endl;

}
  int zahl = 0;
  char puffer[255] = &quot; &quot;;
  zahl = recv(s, puffer, 255, 0);
  if (zahl==SOCKET_ERROR) cout &lt;&lt; &quot;Error&quot;&lt;&lt; endl;
  cout &lt;&lt; zahl &lt;&lt; endl;
  cout &lt;&lt; puffer &lt;&lt; endl;
  strcpy(puffer, &quot; &quot;);
  Sleep(1000);
  zahl = send(s, &quot;USER xxx@web.de\0&quot;,17,0);
  if (zahl==SOCKET_ERROR) cout &lt;&lt; &quot;Error&quot;&lt;&lt; endl;
  cout &lt;&lt; zahl &lt;&lt; endl;
  zahl = recv(s, puffer, 255, 0);
  if (zahl==SOCKET_ERROR) cout &lt;&lt; &quot;Error&quot;&lt;&lt; endl;
  cout &lt;&lt; zahl &lt;&lt; endl;
  cout &lt;&lt; puffer &lt;&lt; endl;
  strcpy(puffer, &quot; &quot;);
  Sleep(1000);
  zahl = send(s, &quot;PASS PASSWORT\0&quot;, 17, 0);
  if (zahl==SOCKET_ERROR) cout &lt;&lt; &quot;Error&quot;&lt;&lt; endl;
  cout &lt;&lt; zahl &lt;&lt; endl;
  Sleep(100);
  zahl = recv(s, puffer, 255, 0);
  if (zahl==SOCKET_ERROR) cout &lt;&lt; &quot;Error&quot;&lt;&lt; endl;
  cout &lt;&lt; zahl &lt;&lt; endl;
  cout &lt;&lt; puffer &lt;&lt; endl;
  wait();
  return 0;

}
int startWinsock(void)

{

  WSADATA wsa;

  return WSAStartup(MAKEWORD(2,0),&amp;wsa);

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1445054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445054</guid><dc:creator><![CDATA[liggi1998]]></dc:creator><pubDate>Mon, 28 Jan 2008 13:07:51 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail abholen und senden on Mon, 28 Jan 2008 13:11:51 GMT]]></title><description><![CDATA[<p>1. Was für ein error kommt?<br />
2. Forum WinAPI wäre besser.<br />
Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445059</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Mon, 28 Jan 2008 13:11:51 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail abholen und senden on Mon, 28 Jan 2008 13:23:57 GMT]]></title><description><![CDATA[<p>bei smtp kommt timeout vom server. Bei pop3 gibt recv -1 zurück.</p>
<p>mfg liggi1980</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445064</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445064</guid><dc:creator><![CDATA[liggi1998]]></dc:creator><pubDate>Mon, 28 Jan 2008 13:23:57 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail abholen und senden on Mon, 28 Jan 2008 14:32:29 GMT]]></title><description><![CDATA[<p>-1 bei recv() bedeuetet SOCKET_ERROR und mit WSAGetLastError() kann der detailierte Error Code geholt werden. Ich würde das tun.</p>
<p>PS: deinen Code habe ich gar nicht gesichtet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445114</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Mon, 28 Jan 2008 14:32:29 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail abholen und senden on Mon, 28 Jan 2008 14:37:28 GMT]]></title><description><![CDATA[<p>Hinweis: WSACleanup muss aufgerufen werden, wenn WinSock nicht mehr benötigt wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445116</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Mon, 28 Jan 2008 14:37:28 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail abholen und senden on Mon, 28 Jan 2008 15:02:54 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-403.html" rel="nofollow">HumeSikkins</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-4.html" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" 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/1445141</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445141</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Mon, 28 Jan 2008 15:02:54 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail abholen und senden on Mon, 28 Jan 2008 15:35:51 GMT]]></title><description><![CDATA[<p>im Momment geht die Verbindung immer verloren und es wird 0 zurück gegeben.</p>
<p>mfg liggi1980</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445162</guid><dc:creator><![CDATA[liggi1998]]></dc:creator><pubDate>Mon, 28 Jan 2008 15:35:51 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail abholen und senden on Mon, 28 Jan 2008 16:14:44 GMT]]></title><description><![CDATA[<blockquote>
<p>im Momment geht die Verbindung immer verloren und es wird 0 zurück gegeben.</p>
</blockquote>
<p>wo wird 0 zurückgegeben.</p>
<p>Je besser Du dein Problem beschreibst, desto besser kann geantwortet werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445182</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445182</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Mon, 28 Jan 2008 16:14:44 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail abholen und senden on Mon, 28 Jan 2008 16:26:11 GMT]]></title><description><![CDATA[<p>recv gibt 0 zurück wenn die Verbindung unterbrochen wurde.</p>
<p>mfg liggi1980</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445185</guid><dc:creator><![CDATA[liggi1998]]></dc:creator><pubDate>Mon, 28 Jan 2008 16:26:11 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail abholen und senden on Mon, 28 Jan 2008 16:49:13 GMT]]></title><description><![CDATA[<p>aha... du rufst ja nicht nur einmal recv auf.. also welche zeile?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445195</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Mon, 28 Jan 2008 16:49:13 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail abholen und senden on Mon, 28 Jan 2008 17:09:34 GMT]]></title><description><![CDATA[<p>ich bekomme die meldung das ich verbunden bin dann sende ich den Benutzername und dann dauerts etwas und dann ist die Verbindung weg.</p>
<p>mfg liggi1980</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445203</guid><dc:creator><![CDATA[liggi1998]]></dc:creator><pubDate>Mon, 28 Jan 2008 17:09:34 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail abholen und senden on Mon, 28 Jan 2008 17:22:15 GMT]]></title><description><![CDATA[<p>\r\n statt \0</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445208</guid><dc:creator><![CDATA[o.O]]></dc:creator><pubDate>Mon, 28 Jan 2008 17:22:15 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail abholen und senden on Mon, 28 Jan 2008 19:00:47 GMT]]></title><description><![CDATA[<p>das Problem besteht aber weiterhin.</p>
<p>mfg liggi1980</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445286</guid><dc:creator><![CDATA[liggi1998]]></dc:creator><pubDate>Mon, 28 Jan 2008 19:00:47 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail abholen und senden on Tue, 29 Jan 2008 05:58:10 GMT]]></title><description><![CDATA[<p>Kann ja gar nicht gehen!!!!!Hab vergessen die Anzahl der zu sendenen Zeichen um 4 zuerhöhen. Jetzt gehts.</p>
<p>mfg liggi1980</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445431</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445431</guid><dc:creator><![CDATA[liggi1998]]></dc:creator><pubDate>Tue, 29 Jan 2008 05:58:10 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail abholen und senden on Tue, 29 Jan 2008 11:43:15 GMT]]></title><description><![CDATA[<p>Warum um <strong>4</strong> erhöhen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445561</guid><dc:creator><![CDATA[o.O]]></dc:creator><pubDate>Tue, 29 Jan 2008 11:43:15 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail abholen und senden on Tue, 29 Jan 2008 12:34:12 GMT]]></title><description><![CDATA[<p>gilt \r\n nicht als 4 Zeichen?? Sind das nur 2 Zeichen???</p>
<p>mfg liggi1980</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1445608</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445608</guid><dc:creator><![CDATA[liggi1998]]></dc:creator><pubDate>Tue, 29 Jan 2008 12:34:12 GMT</pubDate></item><item><title><![CDATA[Reply to E-Mail abholen und senden on Tue, 29 Jan 2008 12:52:14 GMT]]></title><description><![CDATA[<p>Eigentlich sinds nur zwei... <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1445623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1445623</guid><dc:creator><![CDATA[mad_martin]]></dc:creator><pubDate>Tue, 29 Jan 2008 12:52:14 GMT</pubDate></item></channel></rss>