Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[C++] Kod na e-mail (?)


Rekomendowane odpowiedzi

  • 2 tygodnie później...
Opublikowano

Trzeba trochę się rozpisać z bibliotekami graficznymi, potem jeszcze pokombinować z wysyłaniem. Nie lepiej jakimś skryptowym?

userbar.png
Opublikowano

Nie wiem, potrzebuje takiego czegoś żeby po wpisaniu w pole tekstowe np. "bla bla " i kliknięciu buttona "Gotowe" czy coś wysyłało mi te "bla bla" na e-mail'a ...
Robie w Microsoft Visual C++ 2010

( FORUM [ NABÓR ON ] | www.gamerecords.tk )

Metin2

Opublikowano

Co do samej funkcji wysyłającej:

 

 

int SendMail(char* MailFrom, char* MailTo, char* Subject, char* Message, char* Login, char* Password, char* SMTPServer, int SMTPPort)
{
    WSAData wsaData;
    char chBuffer[4096];

    if(WSAStartup(MAKEWORD(2,0), & wsaData ) != 0)
        return -1;

    SOCKET socClient = socket(AF_INET, SOCK_STREAM, 0);
    SOCKADDR_IN sin;

    sin.sin_port = htons(SMTPPort);
    sin.sin_addr.s_addr = inet_addr(SMTPServer);
    sin.sin_family = AF_INET;

    if(connect(socClient, (sockaddr*)&sin, sizeof(sin)) == INVALID_SOCKET)
    {
            closesocket(socClient);
            WSACleanup();
            return -1;
    }

    recv(socClient, chBuffer, sizeof(chBuffer), 0);

    send(socClient, "HELO\r\n", strlen("HELO\r\n"), 0);
    recv(socClient, chBuffer, sizeof(chBuffer), 0);

    char chTemp[256];
    gethostname(chTemp, 255);

    wsprintf(chBuffer, "EHLO %s\r\n", chTemp);
    send(socClient, chBuffer, strlen(chBuffer), 0);
    recv(socClient, chBuffer, sizeof(chBuffer), 0);

    send(socClient, "AUTH LOGIN\r\n", strlen("AUTH LOGIN\r\n"), 0);
    recv(socClient, chBuffer, sizeof(chBuffer), 0);

    wsprintf(chBuffer, "%s\r\n", Login);
    send(socClient, chBuffer, strlen(chBuffer), 0);
    recv(socClient, chBuffer, sizeof(chBuffer), 0);

    wsprintf(chBuffer, "%s\r\n", Password);
    send(socClient, chBuffer, strlen(chBuffer), 0);
    recv(socClient, chBuffer, sizeof(chBuffer), 0);

    wsprintf(chBuffer, "MAIL FROM: <%s>\r\n", MailFrom);
    send(socClient, chBuffer, strlen(chBuffer), 0);
    recv(socClient, chBuffer, sizeof(chBuffer), 0);

    wsprintf(chBuffer, "RCPT TO: <%s>\r\n", MailTo);
    send(socClient, chBuffer, strlen(chBuffer), 0);
    recv(socClient, chBuffer, sizeof(chBuffer), 0);

    send(socClient, "DATA\r\n", strlen("DATA\r\n"), 0);
    recv(socClient, chBuffer, sizeof(chBuffer), 0);

    wsprintf(chBuffer, "From: %s\r\n", MailFrom);
    send(socClient, chBuffer, strlen(chBuffer), 0);

    wsprintf(chBuffer, "To: %s\r\n", MailTo);
    send(socClient, chBuffer, strlen(chBuffer), 0);

    wsprintf(chBuffer, "Subject: %s\r\n", Subject);
    send(socClient, chBuffer, strlen(chBuffer), 0);

    wsprintf(chBuffer, "%s\r\n", Message);
    send(socClient, chBuffer, strlen(chBuffer), 0);

    send(socClient, "\r\n.\r\n", strlen("\r\n.\r\n"), 0);
    recv(socClient, chBuffer, sizeof(chBuffer), 0);

    send(socClient, "QUIT\r\n", strlen("QUIT\r\n"), 0);
    recv(socClient, chBuffer, sizeof(chBuffer), 0);

    closesocket(socClient);
    WSACleanup();

    return 0;
}

 

Wymagana zaincludowana biblioteka winsock2 oraz

 

#pragma comment(lib, "Ws2_32.lib")

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...