Message-ID: <7uauij.9i.1@moeller.user.cis.dfn.de>
From: Heiko Moeller <Heiko.Moeller@nikocity.de>
Date: Sat, 16 Oct 1999 22:34:59 +0200
Mailing-List: list usehamsternet@onelist.com; contact usehamsternet-owner@onelist.com
--------
From: Heiko Moeller <Heiko.Moeller@nikocity.de>

Hallo Georg,

>er verschwindet ja gleich wieder, wenn ihn das aufrufende Programm per
>OLE wieder "loslt".

Okay, okay. Ich gebe auf. ;-)

Hier die angepate Variante, die ControlGetPath benutzt, auf
abzuschickende Mails und News testet und im Bedarfsfall online geht und
diese abschickt. Jetzt zufrieden? ;-)

---------------------------------------------------------------------------------
'### tstmailnews.vbs ###
'Testet auf Vorhandensein von Mails im Mail.Out- oder News im News.Out-Ordner
'Wenn Mails oder News vorhanden sind, werden diese verschickt

'Preferences
Const RASDIAL_CONNECTION     = "Nikoma Internet-By-Call"  'Name of RAS-conn; "" = disable dialing
Const RASDIAL_USERNAME       = ""         'Username for RAS-conn; "" = use Hamster-setting
Const RASDIAL_PASSWORD       = ""         'Password for RAS-conn; "" = use Hamster-setting

'Initialize Hamster-constants
Const HAM_WAITIDLE_INFINITE  = 0

dim fs		' Referenz zum FileSystemObject

'Zugriff auf ActiveX-Objekte des Systems herstellen
set fs = CreateObject("Scripting.FileSystemObject")

'Note: Hamster.exe will be loaded now if does not run already.
Set Hamster = Wscript.CreateObject("Hamster.App")

hamsterpfad = Hamster.ControlGetPath

set mailpath = fs.GetFolder(hamsterpfad + "Mails\Mail.Out\")
set newspath = fs.GetFolder(Hamsterpfad + "Groups\News.Out\")

mailzaehler = 0
newszaehler = 0

for each mail in mailpath.files
  mailzaehler = mailzaehler + 1
next

for each news in newspath.files
  newszaehler = newszaehler + 1
next

if (mailzaehler <> 0) or (newszaehler <> 0) then
  Hamster.ControlWaitIdle HAM_WAITIDLE_INFINITE

  If RASDIAL_CONNECTION<>"" Then
     WScript.Echo "Dialing ..."
     If Not Hamster.RasDial (RASDIAL_CONNECTION, RASDIAL_USERNAME, RASDIAL_PASSWORD)  Then
        Err.Raise 65535, "Error at Hamster.RasDial", "RasLastError=" & Hamster.RasLastError
        WScript.Quit
     End If
  End If

  WScript.Echo "Transfering ..."

  if mailzaehler > 0 then
    WScript.Echo "Mail ..."
    Hamster.ControlRunMail ""
    Hamster.ControlWaitIdle HAM_WAITIDLE_INFINITE
  end if

  if newszaehler > 0 then
    WScript.Echo "News ..."
    Hamster.ControlRunNewsPost ""
    Hamster.ControlWaitIdle HAM_WAITIDLE_INFINITE
  end if

  If RASDIAL_CONNECTION<>"" Then
     WScript.Echo "Hanging up ..."
     Hamster.RasHangup
  End If
else
  WScript.Echo "Keine Mails oder News zu verschicken!"
end if

'Release Hamster-object
WScript.Echo "Release Hamster ..."
Wscript.DisconnectObject Hamster

WScript.Echo "Ready."
'### tstmailnews.vbs ###
---------------------------------------------------------------------------

Wer aufwendigere Serverkonstellationen hat, mu diese an den
entsprechenden Stellen einfgen. Meine Version benutzt RunMail, d.h. es
werden erst Mails geholt und dann geschickt. Das erspart mir die
Einfhrung einer Variablen fr den Server. Auerdem mu man ja sowieso
bei vielen Servern erst POPen, um dadurch den SMTP Zugang
freizuschalten. Die zu benutzende Whlverbindung und eventuelle
Passwrter/Variablen sind an die eigenen Verhltnisse anzupassen.
-- 
Gru, Heiko