Undisclosed-recipients als Empfängername



  • Moin, Moin...

    Ich habe mit einem kleinen Programm eine Mail generiert und verschickt(Windows-Sockets). Die empfangene Mail enthält als Empfängernamen aber immer "undisclosed-recipients". Woran liegt das und wie bekomme ich den Absender da rein, den ich im Programm verwendet habe?

    Danke im voraus...



  • Zeig doch mal den Code, wie du die Mail verschickst 🙄



  • Den Code hatte ich aus einem anderen Beitrag hier im Forum kopiert:

    #include <windows.h> 
    #include <winsock.h> 
    #include <stdio.h>
    
    int main() 
    { 
      struct sockaddr_in  server; 
    
      SOCKET              sock; 
    
      char                buff[1024],
                          command[1024]; 
    
      unsigned int        empfangen,
                          i; 
    
      char                *smtp[] = {
                                      "HELO mailserver.de\r\n",  // Dummy
                                      "MAIL FROM:Absender@mail.de\r\n",     // Absender 
                                      "RCPT TO:Empfänger@mail.de\r\n",  // Empfaenger 
                                      "DATA\r\n", 
                                      "SUBJECT: Eine Test-Mail\r\n", 
                                      "Diese Mail wurde mit den Windows-Socket-Funktionen versendet!!!\r\n.\r\n", 
                                      "QUIT\r\n"
                                    }; 
    
      short               wVersionRequested;
    
      WSADATA             wsaData; 
    
      wVersionRequested = MAKEWORD (1, 1); 
    
      WSAStartup (wVersionRequested, &wsaData); 
    
      sock = socket( AF_INET, SOCK_STREAM, 0); 
    
      server.sin_family = AF_INET; 
      server.sin_port = htons(25); 
      server.sin_addr.s_addr = inet_addr("xxx.xxx.xxx.xxx");  // Nur Dummy, im Proggi steht richtige Adresse  
    
      connect(sock, (struct sockaddr *) &server, sizeof(struct sockaddr_in)); 
    
      for(i = 0; i <= 6; i++) 
      {
        strcpy(command, smtp[i]);
        printf("%s\n", command);
        send(sock, command, lstrlen(command), 0);       // Command senden 
        empfangen = recv(sock, buff, sizeof(buff), 0); // Antwort empfangen muß nicht unbedingt sein
        printf("%s\n\n", buff);
        buff[empfangen] = '\0';    // String terminieren 
      }
    
      closesocket(sock); 
      WSACleanup(); 
    
      return 0; 
    }
    

    Die Mail wird anstandslos versendet und empfangen, aber eben mit Empfängernamen "undisclosed-recipient".

    Ciao...



  • MAIL FROM: email@adres.se
    RCPT TO: andereemail@adres.se

    Und sende mal einfach noch beim Mail-Header mit:
    To: email@adres.se
    From: email@adres.se



  • Hallo geeky,

    herzlichen Dank für den Hinweis. Ich musste noch etwas herumexperimentieren, weil mir nicht bewußt war, wie ich weitere Header-Infos einfüge.

    Die entsprechende Zeile muss lauten:

    char                *smtp[] = { 
                                      "HELO mailserver.de\r\n",  // Dummy 
                                      "MAIL FROM:<Absender@mail.de>\r\n",     // Absender  
                                      "RCPT TO:<Empfänger@mail.de>\r\n",  // Empfaenger  
                                      "DATA\r\n",  
                                      "FROM: <Absender@mail.de>\r\nTO: <Empfänger@mail.de>\r\nSUBJECT: Eine Test-Mail\r\n",
                                      "Diese Mail wurde mit den Windows-Socket-Funktionen versendet!!!\r\n.\r\n",  
                                      "QUIT\r\n" 
                                    };
    

    Ciao...



  • Das Programm lässt sich kompilieren und bringt auch keine Fehler.
    Eine Mail kommt jedoch nicht an.
    Ich habs wie folgt abgeändert:

    char *smtp[] = {
    "HELO mail.web.de\r\n", // Dummy
    "MAIL FROM:BennyVorwalder@web.de\r\n", // Absender
    "RCPT TO:BennyVorwalder@aol.com\r\n", // Empfaenger
    "DATA\r\n",
    "FROM: BennyVorwalder@web.de\r\nTO: BennyVorwalder@aol.com\r\nSUBJECT: Eine Test-Mail\r\n",
    "Diese Mail wurde mit den Windows-Socket-Funktionen versendet!!!\r\n.\r\n",
    "QUIT\r\n"
    };

    server.sin_addr.s_addr = inet_addr("smtp.web.de"); // Nur Dummy, im Proggi steht richtige Adresse

    Was stimmt nicht??
    Danke
    Benny



  • Lies doch einfach mal die Meldungen vom Mailserver ein über den Du da versenden willst - vielleicht will der nen benutzernamen und nen passwort oder der mag sonstwas nicht. Normalerweise teilt dir der Mailserver mit was er nicht mag 😉



  • Kal El schrieb:

    Den Code hatte ich aus einem anderen Beitrag hier im Forum kopiert:

    #include <windows.h> 
    #include <winsock.h> 
    #include <stdio.h>
     
    int main() 
    { 
      struct sockaddr_in  server; 
    
      SOCKET              sock; 
    
      char                buff[1024],
                          command[1024]; 
    
      unsigned int        empfangen,
                          i; 
      
      char                *smtp[] = {
                                      "HELO mailserver.de\r\n",  // Dummy
                                      "MAIL FROM:Absender@mail.de\r\n",     // Absender 
                                      "RCPT TO:Empfänger@mail.de\r\n",  // Empfaenger 
                                      "DATA\r\n", 
                                      "SUBJECT: Eine Test-Mail\r\n", 
                                      "Diese Mail wurde mit den Windows-Socket-Funktionen versendet!!!\r\n.\r\n", 
                                      "QUIT\r\n"
                                    }; 
         
      short               wVersionRequested;
      
      WSADATA             wsaData; 
      
      wVersionRequested = MAKEWORD (1, 1); 
      
      WSAStartup (wVersionRequested, &wsaData); 
         
      sock = socket( AF_INET, SOCK_STREAM, 0); 
     
      server.sin_family = AF_INET; 
      server.sin_port = htons(25); 
      server.sin_addr.s_addr = inet_addr("xxx.xxx.xxx.xxx");  // Nur Dummy, im Proggi steht richtige Adresse  
         
      connect(sock, (struct sockaddr *) &server, sizeof(struct sockaddr_in)); 
     
      for(i = 0; i <= 6; i++) 
      {
        strcpy(command, smtp[i]);
        printf("%s\n", command);
        send(sock, command, lstrlen(command), 0);       // Command senden 
        empfangen = recv(sock, buff, sizeof(buff), 0); // Antwort empfangen muß nicht unbedingt sein
        printf("%s\n\n", buff);
        buff[empfangen] = '\0';    // String terminieren 
      }
    
      closesocket(sock); 
      WSACleanup(); 
    
      return 0; 
    }
    

    Die Mail wird anstandslos versendet und empfangen, aber eben mit Empfängernamen "undisclosed-recipient".

    Ciao...

    Hey man, wo hast du das her????? Das hast du geschrieben?????? DAS IST MEINE CODE !!!!!!! 😮 😮 😮



  • Hallo Leute, muß ihnen sagen das das Prog. von mir ist und es ein Fehler enthält.
    Also es wird auch kein Mail ankommen !!!
    Dazu müßt ihr einiges ändern 😃

    Wer sich ein bisshen mit winsocks auskennt, der findet den Fehler, sonst mailen an
    R.Trautwein@gmx.de



  • Hallo Petr1,

    keine Sorge, ich habe Deinen Code nicht geklaut. Ich hatte geschrieben, dass ich den Code aus einem anderen Beitrag des Forums kopiert hatte.

    Das Programm funktioniert aber anstandlos.

    Ciao...


Anmelden zum Antworten