FreeBasic: E-Mail versenden

Aus Wikibooks

Sind dir noch andere Methoden bekannt? Dann nur her damit!

Visual-Basic-Script[Bearbeiten]

cls
input " Absender   ", absender$
input " Empfaenger ", empfaenger$
input " Betreff    ", betreff$
input " Zeile 1    ", zeile1$
input " Zeile 2    ", zeile2$
OPEN "SENDM.VBS" FOR OUTPUT AS #1
PRINT #1, "Set oMail = CreateObject(" + CHR$(34) + "CDO.Message" + CHR$(34) + ")"
PRINT #1, "oMail.From = " + CHR$(34) + absender$ + CHR$(34)
PRINT #1, "oMail.To = " + CHR$(34) + empfaenger$ + CHR$(34)
PRINT #1, "oMail.Subject = " + CHR$(34) + betreff$ + CHR$(34)
PRINT #1, "oMail.TextBody= " + CHR$(34) + zeile1$ + CHR$(34) + " & vbCrLf & " + CHR$(34) + zeile2$ + CHR$(34) 
PRINT #1, "oMail.Send"
PRINT #1, "Set oMail = Nothing"
close #1
SHELL "cscript //NoLogo " + "SENDM.VBS"
sleep
KILL "SENDM.VBS"

Bekannte Probleme:

  • Da letzten Endes euer Rechner die E-Mail versendet, landet die E-Mail oft im Spam-Ordner.
  • Je nach Windows-Version geht es oder nicht.
  • Aus Sicherheitsgründen ist auf einigen Rechner VB-Script ausgeschaltet.

Blat[Bearbeiten]

http://www.blat.net/

Bekannte Probleme:

  • Das Senden braucht relativ lange.
  • Zum Verwenden müsst ihr die  Firewall durchlöchern.

Getestet mit: GMX und Yahoo.

Kommandozeile[Bearbeiten]

 ?
?     " Absender:"
Input "  SMTP Server    ", server$
Input "  E-Mail-Adresse ", sender$
Input "  Username       ", user$
Input "  Passwort       ", pw$
?
?     " Empfaenger:     "
Input "  E-Mail-Adresse ", Empfaenger$
?
?     " EMail:         " 
Input "  Betreff       ", Betreff$
Input "  Text          ", Text$
?
open "temp.tmp" for output as #1
? #1, Text$
close 1

shell "blat -install " + server$ +" "+sender$ +" - - - " + user$ +" "+ pw$
shell "blat temp.tmp -to "+ Empfaenger$ + " -s "+ chr$(34)+ betreff$+chr$(34)

kill "temp.tmp"
sleep

DYLIB[Bearbeiten]

 Dim send as function (byval vari as zstring ptr) as uinteger 'Gehört zu DLL
 dim vari as zstring*100
 
 library = dylibload( "Blat.dll" )
 if library = 0  then
     cls
     ?
     ? " Blat.dll nicht gefunden."
     sleep 1000,1
 else
     send = dylibsymbol( library, "Send" )
     
     ?
     ?     " Absender:"
     Input "  SMTP Server   ", server$
     Input "  E-Mail-Adresse ", sender$
     Input "  Username      ", user$
     Input "  Passwort      ", pw$
     ?
     ?     " Empaenger:     "
     Input "  E-Mail-Adresse ", Empaenger$
     ?
     ?     " E-Mail:         " 
     Input "  Betreff       ", Betreff$
     Input "  Text          ", Text$
     ?
     open "temp.tmp" for output as #1
     ? #1, Text$
     close 1
     
     vari= "-install " + server$ +" "+sender$ +" - - - " + user$ +" "+ pw$
     result=Send(vari)
     ? result
 
     vari= "temp.tmp -to "+ Empaenger$ + " -s "+ chr$(34)+ betreff$+chr$(34)
     result=Send(vari)
     ? result
 
     kill "temp.tmp"
     sleep
 end if