| 12
 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