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.seUnd 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 ändernWer 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...