 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
amsel
Anmeldungsdatum: 27.02.2005 Beiträge: 3
|
Verfasst am: 27.02.2005, 21:19 Titel: mail versand auslösen |
|
|
hallo,
ich habe ein programm geschrieben, wo bei einem bestimmten ereigniss eine mail versand werden soll.
ich habe im monster faq die beiden links mir angeschaut. doch der eine geht nicht und das uka_PPP (soweit ich das verstanden habe ist ja dazu da um mails zu holen und zu versenden) oder??
könnt ihr mir einen tip geben
dankeschön
viele grüße amsel _________________ Sei so frei
das es dir egal ist,
wie andere über dich denken.
Du wirst glücklicher sein,
wenn du dir gefällst. |
|
Nach oben |
|
 |
Thomas Antoni

Anmeldungsdatum: 12.10.2004 Beiträge: 220 Wohnort: Erlangen
|
Verfasst am: 27.02.2005, 21:59 Titel: Dazu habe ich mir für die QB-MonsterFAQ vorgemerkt... |
|
|
Dazu habe ich mir für die QB-MonsterFAQ vorgemerkt...
-------------------------------------------------------------------------------------
Frage deutsch
~~~~~~~~~~~~~~~~
Wie greift mein Programm auf E-Mail-Funktionen zu?
Antwort 1
~~~~~~~~~~~~~~~~
[ von Andreas Meile ( qbasicde@dreael.ch) im QB-Forum, 25.4.2004 ]
Zum Aufrufen von E-Mail-Funktionen mit Qbasic gibt es u.a. folgende Ansätze:
*** Ansatz 1: mit Sockets.
Probiere einmal ein Telnet auf Port 25 Deines Providers machen. Gib dort
telnet smtp.meinisp.de 25
220 smtp.meinisp.de SMTP Sendmail ready.
HELO qbasic.de
250 Pleased meet you
MAIL From: absender@darkangel.de
250 Sender ok
RCPT To: darkangel@darkangel.de
250 Recipient ok
DATA
354 Enter mail, and end with "." on a line by itself
From: "Dark Angel" <absender@darkangel.de>
To: darkangel@darkangel.de
Subject: Test
Dies wird direkt mit handerzeugtem SMTP-Protokoll
versendet.
.
250 Message accepted for delievery
QUIT
221 closing connection
ein. Dieses einfache Protokoll solltest Du wie unter
http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/InternetMitQuickBASIC.html
beschrieben umsetzen können. Details siehe RFC 2821, also
http://www.ietf.org/rfc/rfc2821.txt
Diese Methode eignet sich in einer reinen MS-DOS 6.22-Umgebung am besten.
...::: Tipp:
SMTP ist ein dialogorientiertes Protokoll, wo man immer die Rückantwort
abwarten muss, bevor man zum nächsten Schritt übergeht. Speziell diese
-stelligen Codes der Rückmeldungen muss man auswerten. Für weitere Details
siehe
http://www.ietf.org/rfc/rfc2821.txt
*** Ansatz 2: Zuhilfenahme von VBScript und SHELL
Falls ein Windows NT Option Pack mit dem SMTP-Dienst drauf ist, solltest Du über
das "CDONTS.NewMail"-Automatisierungsobjekt eine E-Mail scriptgesteuert absetzen
können. Jeder ASP-Programmierer (ASP = Active Server Pages vom Internet
Information Server von Microsoft) kennt dies.
In QBasic sieht dies etwa wie folgt aus:
Code: |
absender$ = "absender@darkangel.de"
empfaenger$ = "darkangel@darkangel.de"
betreff$ = "Test"
zeile1$ = "Dies ist Inhalt."
zeile2$ = "Dies ist noch mehr Inhalt."
OPEN ENVIRON$("TEMP") + "\~SENDM.VBS" FOR OUTPUT AS 1
PRINT#1, "Set oMail = CreateObject(" + CHR$(34) + "CDONTS.NewMail" + CHR$(34) + ")"
PRINT#1, "oMail.From = " + CHR$(34) + absender$ + CHR$(34)
PRINT#1, "oMail.To = " + CHR$(34) + empfaenger$
PRINT#1, "oMail.Subject = " + CHR$(34) + betreff$ + CHR$(34)
PRINT#1, "oMail.Body = " + CHR$(34) + zeile1$ + CHR$(34) + " & vbCrLf & " + CHR$(34) + zeile2$ + CHR$(34)
PRINT#1, "oMail.Send"
PRINT#1, "Set oMail = Nothing"
SHELL "cscript //NoLogo " + ENVIRON$("TEMP") + "\~SENDM.VBS"
KILL ENVIRON$("TEMP") + "\~SENDM.VBS"
|
*** Ansatz 3: Mit einem Kommandozeilen Mail-Client
Im Shareware-Bereich gibt es mittlerweilen Kommandozeilen-Mail -Clients für
Batchprogrammierer. Besorg Dir einfach einen solchen und ruf ihn über SHELL aus
Deiner QB-Applikation auf!
Unter
http://sourceforge.net/projects/blat
mit Googlen bin ich sogar so etwas im Freewarebereich gerade fündig geworden.
Diesen musst Du downloaden und installieren, anschliessend wie unter
http://sourceforge.net/docman/display_doc.php?docid=17202&group_id=81910
beschrieben einen Aufrufstring in SHELL zusammenbauen:
Code: |
absender$ = "absender@darkangel.de"
empfaenger$ = "darkangel@darkangel.de"
betreff$ = "Test"
smtpserver$ = "smtp.meinisp.de"
OPEN ENVIRON$("TEMP") + "\~INHALT.TXT" FOR OUTPUT AS 1
PRINT#1, "Hier bitte den"
PRINT#1, "Mailbody erstellen!"
CLOSE 1
SHELL "C:\Programme\Blat\Blat -from " + absender$ + " -to " + empfaenger$ + " -subject " + betreff$ + " -server " + smtpserver$ + " " + ENVIRON$("TEMP") + "\~INHALT.TXT"
KILL ENVIRON$("TEMP") + "\~INHALT.TXT" |
Die beiden letzten Varianten sind geeignet, wenn Windows läuft und QBasic aus
einer Eingabeaufforderung aufgerufen wurde.
Hinweise: Diese Codebeispiele sind nur Entwürfe und wurden daher nicht getestet! _________________ +++ Die beliebte QBasic CD-ROM von QBasic.de - 670 MB QBasic-Stuff mit komfortabler HTML-Oberfläche. Für nur 5 EUR bestellbar auf www.antonis.de/qbcdueb.htm +++ |
|
Nach oben |
|
 |
amsel
Anmeldungsdatum: 27.02.2005 Beiträge: 3
|
Verfasst am: 27.02.2005, 23:20 Titel: |
|
|
dankeschön für die schnelle antwort.
bis jetzt hab ich es noch nicht hinbekommen aber ich probier morgen weiter.
viele grüße amsel _________________ Sei so frei
das es dir egal ist,
wie andere über dich denken.
Du wirst glücklicher sein,
wenn du dir gefällst. |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|