Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
surfer87
Anmeldungsdatum: 16.09.2004 Beiträge: 103
|
Verfasst am: 06.02.2006, 19:43 Titel: Telnet unter FreeBasic |
|
|
Hi, ich wollte mir ähnlich wie einen FTP Manager ein Telnet/Email Manager basteln und habe das selbe Prinzip angewandt, wie wenn ich auf die FTP.exe zugreife.
Das Problem ist, es wird keine Rückmeldung von Telnet gegeben, sodass ich nicht sehen kann, ob es Fehler gab oder nicht und zweitens springt das Programm seltsamerweise nach dem Shell Befehl direkt zum Anfang zurück obwohl dies gar nicht eingebaut ist.
Hier das Programm:
auth$ = "Helo Test"
input "IP eingeben: "; IP$
input "Absender: ";absender$
input "Empfaenger: ";empfaenger$
input "Nachricht: ";inhalt$
OPEN "C:\telnettemp.txt" FOR OUTPUT AS #1
PRINT #1, auth$
PRINT #1, "mail from: " + absender$
PRINT #1, "rcpt to: " + empfaenger$
PRINT #1, "data"
PRINT #1, inhalt$
PRINT #1, "."
'PRINT #1, "quit"
CLOSE #1
SHELL "telnet " + IP$ + " 25 < C:\telnettemp.txt"
sleep
end |
|
Nach oben |
|
 |
surfer87
Anmeldungsdatum: 16.09.2004 Beiträge: 103
|
Verfasst am: 06.02.2006, 22:08 Titel: |
|
|
Hab schon....benennt euer Programm nie nach der Anwendung die es aufruft  |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 06.02.2006, 22:17 Titel: |
|
|
Du kannst dein Programm ruhig Telnet.Bas nennen
..nur mußt du dann bei dem aufgerufenen Telnet.exe den Pfad davor schreiben,
dann klappt's auch mit dem Nachbarn..
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 06.02.2006, 23:21 Titel: |
|
|
*tuschel*: Ich arbeite gerade selber auf Grundlage der Marzec-TCPIP-Komponente/DSOCK an einer SMTP/FTP/HTTP Lib für QB, nicht FB. Wenn du nicht drauf warten und QB nutzen willst, musst du BASE64 in FB implementieren, sonst geht da bei den meisten SMTP Servern leider nix.
In FB würde ich gar nix mit Lib oder Telnet machen, sondern am besten versuchen, die Anforderungen über Winsock zu verschicken.  _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
max06

Anmeldungsdatum: 05.12.2004 Beiträge: 390 Wohnort: Augsburg
|
Verfasst am: 06.02.2006, 23:42 Titel: Was das? |
|
|
Was ist bitte BASE64?
Gn8
Florian |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 06.02.2006, 23:53 Titel: |
|
|
Das
http://de.wikipedia.org/wiki/Base64
Schlaf schön
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
max06

Anmeldungsdatum: 05.12.2004 Beiträge: 390 Wohnort: Augsburg
|
Verfasst am: 07.02.2006, 23:48 Titel: Winsock |
|
|
Kann ich, wenn ich Daten über Winsock zu nem SMTP-Server sende, das Base64-zeug außen vor lassen?
Ebenfalls gn8
Florian |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 08.02.2006, 19:11 Titel: |
|
|
Nein, SMTP AUTH funktioniert i.d.R. nur BASE64 verschlüsselt. Mit Winsock kann man in dieser Beziehung nicht mehr machen als mit Telnet. Einfach gesagt: Winsock ist quasi eine Art Telnet zum Integrieren in deine Anwendung.
Eine einfachere Möglichkeit wäre ein VBScript. Dies funktioniert jedoch nur auf Systemen, wo WSH aktiviert ist. Wegen der vielen Scriptviren haben's jedoch viele Leute abgeschaltet.  _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
surfer87
Anmeldungsdatum: 16.09.2004 Beiträge: 103
|
Verfasst am: 08.02.2006, 21:53 Titel: |
|
|
Soo, ich habe mein Programm nun an einem Open Relay Webserver getestet, aber die Mail kommt irgendwie nicht an.
Hab ich was bei der Datei falsch eingetragen (Commands) ?
Z.b. bei der FTP.exe muss ich ja vor der Authentifizierung "user" angeben wenn ich das über FB machen will. Will ich auf die FTP.exe per "cmd" zugreifen brauche ich den "user" ja nicht eingeben.
Ist das bei telnet das selbe?
Das ich vor dem "Helo" vielleicht noch etwas schreiben muss?
Hier noch einmal der Code
Code: | auth$ = "Helo Test.de"
input "IP eingeben: "; adr$
input "Absender: ";absender$
input "Empfaenger: ";empfaenger$
input "Nachricht: ";inhalt$
OPEN "C:\tntmp.txt" FOR OUTPUT AS #1
PRINT #1, auth$
PRINT #1, "mail from: " + absender$
PRINT #1, "rcpt to: " + empfaenger$
PRINT #1, "data"
PRINT #1, inhalt$
PRINT #1, "."
PRINT #1, "quit"
CLOSE #1
cls
SHELL "telnet " + adr$ + " 25 < C:\tntmp.txt"
sleep |
|
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 08.02.2006, 22:39 Titel: |
|
|
Das wird so nicht funktionieren, denn SMTP ist ein dialogorientiertes Protokoll, wo man jeweils die Antworten vom Gegenüber abwarten muss. Ausserdem habe ich auch schon festgestellt, dass TELNET.EXE aus Windows nicht allzuviel am Hut hat mit der Standardeingabeumleitung, während dies dagegen unter Linux problemlos klappt. Habe ich dort in Shellscripts im Einsatz, um zum beispielsweise einen DSL-Router zu rebooten. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
|