отправить письмо с вложением в C - PullRequest
0 голосов
/ 03 апреля 2020

Привет, я пишу C программу, которая отправляет некоторые файлы на адрес электронной почты. Я уже заставил его отправить электронное письмо, но я не знаю, как отправлять вложения, я гуглил его, и единственное, что я узнал, это то, что я должен отправить его на сервер smtp после использования команды DATA \ n.

#include <stdio.h>
#include <winsock2.h>
#include <windows.h>


int main(int argc, char **argv)
{
    WORD version = MAKEWORD(1,2);
    WSADATA data;
    int error;
    error = WSAStartup(version,&data);   

    SOCKET s = socket(AF_INET,SOCK_STREAM,0);
    SOCKADDR_IN saddr;
    saddr.sin_family = AF_INET;
    saddr.sin_port = htons(25);
    saddr.sin_addr.s_addr = inet_addr("173.194.76.26");

    char Antwort[1000]; int len;
    error = connect(s,(SOCKADDR*)&saddr,sizeof(saddr));
    len = recv(s,Antwort,1000,0);
    printf("\n\n%s",Antwort);
        send(s,"HELO dieseitegibtsnicht.de\n",strlen("HELO dieseitegibtsnicht.de\n"),0);
    recv(s,Antwort,1000,0);
    printf("\n\n%s",Antwort);
        send(s,"MAIL FROM: <maxmustermann@gmail.com>\n",strlen("MAIL FROM: <maxmustermann@gmail.com>\n"),0);
    recv(s,Antwort,1000,0);
    printf("\n\n%s",Antwort);
        send(s,"RCPT TO: <CENSORED@gmail.com>\n",strlen("RCPT TO: <CENSORED@gmail.com>\n"),0);
    recv(s,Antwort,1000,0);
    printf("\n\n%s",Antwort);
        send(s,"DATA\n",strlen("DATA\n"),0);
    recv(s,Antwort,1000,0);
    printf("\n\%s",Antwort);
    char msg[300] = "TO: CENSORED@gmail.com\nFROM: maxmustermann@gmail.com\nSUBJECT: Irgendwas\nDas hier kann hier eh keiner lesen\r\n.\r\n";
        send(s,msg,strlen(msg),0);
    recv(s,Antwort,1000,0);
    printf("\n\n%s",Antwort);
        send(s,"QUIT\n",strlen("QUIT\n"),0);
    recv(s,Antwort,1000,0);
    printf("\n\n%s",Antwort);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...