Date: Wed, 15 Sep 1999 22:46:29 +0200
From: Sebastian Suchanek <Sebastian.Suchanek@gmx.de>
Message-Id: <37E005A535C.708CSEBASTIAN.SUCHANEK@127.0.0.1>
Mailing-List: list usehamsternet@onelist.com; contact usehamsternet-owner@onelist.com

From: Sebastian Suchanek <Sebastian.Suchanek@gmx.de>

Sebastian Suchanek <Sebastian.Suchanek@gmx.de> spoke thusly:
> [vbs-Script]

Nachdem ich bereits zwei Anfragen erhalten habe, poste ich das Script in
der Mailingliste. (Hoffentlich hat keiner was dagegen?)

Ein paar Erklrungen vorne weg: Das Script basiert noch auf einem
Exemplar von Werner Arts, ist aber inzwischen von mir modifiziert
worden. (nicht zuletzt mit den neuen Hamster-Befehlen aus Ver. 1.3.2)
Leider hatte ich nicht viel Zeit, um das Script wirklich prsentabel und
allgemeingltig zu machen, aber ich denke, ihr werden Euch schon zurecht
finden. Auerdem demonstriert das Script auch, Mails von drei Accounts
einzusammeln und an zwei lokale Accounts weiterzuleiten. Ach ja, eine
automatische Einwahl ist zwar vorgesehen, aber von mir mit Hochkommata
"auer Gefecht" gesetzt worden.

************************* hier abbeissen *************************

' get_all.vbs

'++++++++++++++++++++++++++++ INIT +++++++++++++++++++++++

Dim FSO				' This is needed for file-operations

On Error Resume Next		' If you disable this, you will get an
				' error-message on empty directories.

'Preferences
'Name of RAS-conn;      "" = disable dialing
Const RASDIAL_CONNECTION     = "Ras Connection"

'Username for RAS-conn; "" = use Hamster-setting
Const RASDIAL_USERNAME       = "User Name"

'Password for RAS-conn; "" = use Hamster-setting
Const RASDIAL_PASSWORD       = "Passwort"

Const PURGE_BEFORE_TRANSFER  = False	'True  = enable purging
					'False = disable purging

'Initialize Hamster-constants
Const HAM_PURGEOPT_DOALL     = &HF			'Purge All
Const HAM_PURGEOPT_DONEWS    = &H1			'Purge News
Const HAM_PURGEOPT_DOHISTORY = &H2			'Purge History
Const HAM_PURGEOPT_DOKILLS   = &H4			'Purge Kills
Const HAM_WAITIDLE_INFINITE  = 0

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

' Initialize possibility for file-operations.
Set FSO = CreateObject("Scripting.FileSystemObject")

If PURGE_BEFORE_TRANSFER Then
   Hamster.ControlWaitIdle HAM_WAITIDLE_INFINITE
'   Hamster.ControlRunPurge HAM_PURGEOPT_DOALL
'   Hamster.ControlRunPurge HAM_PURGEOPT_DONEWS   
   Hamster.ControlRunPurge HAM_PURGEOPT_DOHISTORY
'   Hamster.ControlRunPurge HAM_PURGEOPT_DOKILLS  
   Hamster.ControlWaitIdle HAM_WAITIDLE_INFINITE
End If

Hamster.ControlWaitIdle HAM_WAITIDLE_INFINITE

'+++++++++++++++++ MAKE BACKUP (Outgoing) +++++++++++++++

FSO.CopyFile "G:\Internet\Hamster\Mails\Mail.Out\*.*", "H:\Dateien\Internet\Mail-Backup\Outgoing"

'++++++++++++++++ RAS-Dial (DISABLED)+++++++++++++++++++++++

' 12 Versuche

'Online = False
'WieOft=0
' Wenn die Einwahl nicht funktioniert soll sie wiederholt werden.
'DO UNTIL (Online = True) OR (WieOft >= 12)
'  Online = Hamster.RasDial( RASDIAL_CONNECTION, RASDIAL_USERNAME,
'  RASDIAL_PASSWORD ) IF NOT Online Then
'     WieOft = WieOft+1
'  End IF
'LOOP

'IF WieOft >=12 THEN
'  WScript.Quit
'End If


'++++++++++++++++++++++++++ COLLECT ALL ++++++++++++++++++++++++++

' Mail ----------------------------------------------------------

' Alle MailServer
' Login GMX Account1
Hamster.ControlRunFetchMail "pop.gmx.net", "pop3", "Login1", "Pass1",
"User1"

' Login GMX Account2
Hamster.ControlRunFetchMail "pop.gmx.net", "pop3", "Login2", "Pass2",
"User2"

' Login Account 3
Hamster.ControlRunFetchMail "popmail.abc.net", "pop3", "Login3", "Pass3",
"User3"

' News ----------------------------------------------------------
' News Post
Hamster.ControlRunNewsPost ""

' News Pulls
Hamster.ControlRunNewsPull ""


Hamster.ControlWaitIdle HAM_WAITIDLE_INFINITE


'++++++++++++++++++++ SEND MAILS SENDEN +++++++++++++++++++++++++

Hamster.ControlRunSendMail "mail.gmx.net", "smtp", "User1@gmx.de"
Hamster.ControlRunSendMail "mail.gmx.net", "smtp", "User2@gmx.de"
Hamster.ControlRunSendMail "smtpmail.abc.net", "smtp", "User2@abc.net"

'Hamster.RasHangup

'++++++++++++++++++ MAKE BACKUP (INCOMING) ++++++++++++++++++++++

FSO.CopyFile "G:\Internet\Hamster\Mails\User1\*.*",
"H:\Dateien\Internet\Mail-Backup\Incoming"


'Release Hamster-object
Wscript.DisconnectObject Hamster


************************* hier abbeissen *************************

Einige Erklrungen noch:
- Die auf den ersten Blick etwas komische Auseinanderziehung von POP und
SMTP war bei mir ntig, da - wenn ich die beiden direkt hintereinander
im Script hatte - Fehlermeldungen kamen, da der SMTP versucht wurde,
noch bevor der POP-Login erfolgreich war.
- Einige lngere Zeilen werden wohl umgebrochen werden => ist die Schuld
von meinem Mail-Client.
- Die Login's, Passwrter und Verzeichnispfade mssen natrlich
individuell angepasst werden.

Fr weitere Fragen stehe ich selbstverstndlich zur Verfgung.


mfg,

S. Suchanek

-- 
  => visit my homepage at http://homepage.main-echo.net/~Suchanek <=
"There are a lot of sick people in this town"
     - The Red Guy (Cow & Chicken) finding a superhero suit labeled
       "Corn Cob Man"

