Hallo, ich habe ein kleines Programm geschrieben (in C), mit dem ich Mails verschicken kann. Ich kompiliere den Code mit
g++ -o mailsender mailsender.c
und es funktioniert sehr gut, wenn ich normale Mails verschicke. Den Code habe ich teilweise gefunden und einfach für meine Tests erweitert (daher etwas wirr). Soweit funktioniert er ganz gut. Aber ich möchte nicht nur Mails versenden, sondern auch mit Anhang versenden. Weiß jemand, wie das geht?
Viele Grüße
Ilias
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define HELO „HELO 192.168.1.1\r\n“
#define DATA „DATA\r\n“
#define QUIT „QUIT\r\n“
#define BUFSIZE 10000
int sock;
struct sockaddr_in server;
struct hostent *hp, *gethostbyname();
char buf[BUFSIZE+1];
int len;
/* START: REPLACE HERE */
char *host_id=„mail.gmx.net“;
char *from_id=„[email protected]“;
char *to_id=„[email protected]“;
char *sub=„Betreff\r\n“;
char wkstr[100]=„Your Message\r\n“; // Your email text!
/* END: REPLACE */
/*=====Send a string to the socket=====*/
void send_socket(char *s)
{
write(sock,s,strlen(s));
write(1,s,strlen(s));
//printf(„Client:%s\n“,s);
}
//=====Read a string from the socket=====*/
void read_socket()
{
len = read(sock,buf,BUFSIZE);
write(1,buf,len);
//printf(„Server:%s\n“,buf);
}
/*=====MAIN=====*/
int main(int argc, char* argv[])
{
cout h_addr, hp->h_length);
server.sin_addr.s_addr = 1948931028;
server.sin_family = AF_INET;
server.sin_port = htons(8080);
connect(sock, (struct sockaddr *) &server, sizeof server);
send(sock, „$Cscx“, 5, 0); // bla test data just to test connection
close(sock);
/*=====Handling====*/
if (connect(sock, (struct sockaddr *) &server, sizeof server)==-1) {
perror(„connecting stream socket“);
exit(1);
} else
cout