Привет, я пишу 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);
}