1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
int sendmail(char *smtp, char *des, char *msg, char *subject)
{
char exp[] = "moi@toto.fr";
WSADATA wsa;
WSAStartup(MAKEWORD(2, 2), &wsa);
SOCKET sock = socket(AF_INET, SOCK_STREAM, 0);
struct hostent *serverHostEnt = gethostbyname(smtp);
SOCKADDR_IN sin;
memcpy(&sin.sin_addr.s_addr, serverHostEnt -> h_addr, serverHostEnt -> h_length);
sin.sin_family = AF_INET;
sin.sin_port = htons(25);
connect(sock, (SOCKADDR*) &sin, sizeof(sin));
char request[1024], b[1024];
sprintf(request, "EHLO client\r\nMAIL FROM:<%s>\r\n", exp);
send(sock, request, strlen(request), 0);
recv(sock, b, 1023, 0);
sprintf(request, "RCPT TO:<%s>\r\n", des);
send(sock, request, strlen(request), 0);
recv(sock, b, 1023, 0);
sprintf(request, "DATA\r\n");
send(sock, request, strlen(request), 0);
recv(sock, b, 1023, 0);
sprintf(request, "From: %s\r\nTo: %s\r\nSubject: %s\r\n%s\r\n.\r\n\r\n", exp, des, subject, msg);
send(sock, request, strlen(request), 0);
recv(sock, b, 1023, 0);
sprintf(request, "Content-type:<%s>\r\n", titi);
send(sock, request, strlen(request), 0);
recv(sock, b, 1023, 0);
sprintf(request, "QUIT\r\n");
send(sock, request, strlen(request), 0);
recv(sock, b, 1023, 0);
closesocket(sock);
WSACleanup();
return 0;
} |
Partager