Hallo,
ich hab mich wieder mal kurz mit SMTP befasst (Wikipedia und so) und hab es gerade geschafft eine E-Mail mit diese Skripten an mich selbst zu schicken, das ganze ist eigentlich Recht einfach. Der Nachteil es gibt keine Fehler Behandlung, ich hab das ganze mit Web.de getestet (ESMTP). SMTP wird verwendet um E-Mails zu versenden, meistens.
Download: henrik1235.bplaced.net/upload/data/smtp.zip
Informationen zu SMTP und ESMTP:
de.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
de.wikipedia.org/wiki/SMTP-Auth
Noch irgendwelche Hinweise:
Es gibt nur wenig Fehlerbehandlung.
Es gibt sehr viele Argumente die man in den Skripts nachlesen kann. Es wird
39dll Version 2.5 verwendet.
Skripte in GML Code: [hide='smtp']
Alles anzeigen
[/hide]
[hide='esmtp']
Alles anzeigen
[/hide]
MfG henrik1235
Ps.: Falls ihr es verwendet in irgendein Spiel, ist es euch überlassen mich zu nennen, ich meine es kann ja jeder selber machen so ein Skript wenn er Wikipedia liest.
ich hab mich wieder mal kurz mit SMTP befasst (Wikipedia und so) und hab es gerade geschafft eine E-Mail mit diese Skripten an mich selbst zu schicken, das ganze ist eigentlich Recht einfach. Der Nachteil es gibt keine Fehler Behandlung, ich hab das ganze mit Web.de getestet (ESMTP). SMTP wird verwendet um E-Mails zu versenden, meistens.
Download: henrik1235.bplaced.net/upload/data/smtp.zip
Informationen zu SMTP und ESMTP:
de.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
de.wikipedia.org/wiki/SMTP-Auth
Noch irgendwelche Hinweise:
Es gibt nur wenig Fehlerbehandlung.

39dll Version 2.5 verwendet.
Skripte in GML Code: [hide='smtp']
GML-Quellcode
- /*Versende E-Mails per SMTP mit der 39dll
- Achtung hier wird SMTP verwenden, wenn es einen Server gibt der ESMTP braucht (z.B. web.de)
- musst du das Skript ESMTP nehmen und es gibt nur wenig Fehlerbehandlung.
- by henrik1235
- Argumente
- 0:Server
- 1:Port(Standart 25)
- 2:Name
- 3:Von E-Mail
- 4:Für E-Mail
- 5:Betreff
- 6:Text
- Return:
- (Real)1 wenn es gut ging
- (String)Fehler*/
- //Verbindung
- var server;
- server=tcpconnect(argument0,argument1,1);
- if (server<=0) { return "No connection"; }
- setformat(server,1,chr(10));
- //Versenden
- var step,size,str;
- step=0;
- size=0;
- while(1)
- {
- size=receivemessage(server);
- if (size==0) { return "Connection lost."; }
- if (size>0)
- {
- str=readchars(bytesleft());
- if (string_char_at(str,1)!="2") { return str; }
- switch(step)
- {
- case 0:
- clearbuffer(); writechars("HELO "+argument2); sendmessage(server);
- break;
- case 1:
- clearbuffer(); writechars("MAIL FROM:<"+argument3+">" ); sendmessage(server);
- break;
- case 2:
- clearbuffer(); writechars("RCPT TO:<"+argument4+">" ); sendmessage(server);
- break;
- case 3:
- clearbuffer(); writechars("DATA"); sendmessage(server);
- break;
- case 4:
- var str;
- str="From: <"+argument3+">"+chr(10);
- str+="To: <"+argument4+">"+chr(10);
- str+="Subject: <"+argument5+">"+chr(10);
- str+=chr(10)+argument6;
- str+=chr(10)+".";
- clearbuffer(); writechars(str); sendmessage(server);
- break;
- case 5:
- clearbuffer(); writechars("QUIT"); sendmessage(server); closesocket(server);
- return 1;
- break;
- }
- step+=1;
- }
- }
[hide='esmtp']
GML-Quellcode
- /*Versende E-Mails per ESMTP mit der 39dll
- Achtung es wird ESMTP mit der Authentifizierung Login verwendet und es gibt nur wenig Fehlerbehandlung.
- by henrik1235
- Argumente
- 0:Server
- 1:Port(Standart 25)
- 2:Name
- 3:Benutzername mit base64 kodiert
- 4:Passwort mit base64 kodiert
- 5:Von E-Mail
- 6:Für E-Mail
- 7:Betreff
- 8:Text
- Return:
- (Real) 1 wenn es gut ging
- (String)Fehler*/
- //Verbindung
- var server;
- server=tcpconnect(argument0,argument1,1);
- if (server<=0) { return "No connection"; }
- setformat(server,1,chr(10));
- //Versenden
- var step,size;
- step=0;
- size=0;
- while(1)
- {
- size=receivemessage(server);
- if (size==0) { return "Connection lost"; }
- if (size>0)
- {
- str=readchars(bytesleft());
- if (string_char_at(str,1)!="2") and (step!=2) and (step!=3) { return str; }
- switch(step)
- {
- case 0:
- clearbuffer(); writechars("EHLO "+argument2); sendmessage(server);
- break;
- case 1:
- clearbuffer(); writechars("AUTH LOGIN"); sendmessage(server);
- break;
- case 2:
- clearbuffer(); writechars(argument3); sendmessage(server);
- break;
- case 3:
- clearbuffer(); writechars(argument4); sendmessage(server);
- break;
- case 4:
- clearbuffer(); writechars("MAIL FROM:<"+argument5+">" ); sendmessage(server);
- break;
- case 5:
- clearbuffer(); writechars("RCPT TO:<"+argument6+">" ); sendmessage(server);
- break;
- case 6:
- clearbuffer(); writechars("DATA"); sendmessage(server);
- break;
- case 7:
- var str;
- str="From: <"+argument5+">"+chr(10);
- str+="To: <"+argument6+">"+chr(10);
- str+="Subject: "+argument7+chr(10);
- str+=chr(10)+argument8;
- str+=chr(10)+".";
- clearbuffer(); writechars(str); sendmessage(server);
- break;
- case 8:
- clearbuffer(); writechars("QUIT"); sendmessage(server); closesocket(server);
- return 1;
- break;
- }
- step+=1;
- }
- }
MfG henrik1235
Ps.: Falls ihr es verwendet in irgendein Spiel, ist es euch überlassen mich zu nennen, ich meine es kann ja jeder selber machen so ein Skript wenn er Wikipedia liest.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von henrik1235 ()