FAQ - Come faccio a configurare Hamster per scaricare posta e news automaticamente?
di Daniel Srostlik:
Gli script che seguono provvedono ad inviare e ricevere la posta e le news ad intervalli regolari.
Per creare i nuovi script, aprite Hamster, selezionate la pagina Script dal menu Script / Gestisci script e moduli, quindi premete il tasto Nuovo. Dategli un nome e, nella pagina dell'editor che si aprirà, incollate il testo che segue, da ### Inizio script ### a ### Fine script ###.
Lo script va quindi adattato alle vostre esigenze: leggete le note indicate in seguito.
Per fare in modo che lo script venga avviato automaticamente all'avvio di Hamster, aggiungete il nome dello script alla linea di comando che lancia Hamster ("Destinazione", nella finestra delle proprietà del collegamento). Ad esempio, se avete chiamato lo script MailNews.hsc, la linea di comando sarà qualcosa del tipo:
hamster.exe MailNews.hsc
Per ogni comando utilizzato nello script, potete trovare informazioni dettagliate scegliendo l'indice della guida in linea, e digitando il comando in questione.
Potete trovare tanti altri script nello Scriptarchiv di Michael Gebert, al seguente indirizzo:
http://home.t-online.de/home/micha-wr/hamster/index.htm
### Inizio script ###
#!hs2
### Definizione delle variabili ###
Var ($Connettiti)
VarSet ($Tentativo, 0)
VarSet ($IsConnesso, 0)
### Impostazioni ###
$Connettiti = 1 #[1]
### Scheduler ###
AtAdd (Mail1, "07:00", "19:00", "1111111", 30, true) #[2]
AtAdd (Mail2, "07:00", "19:00", "1111111", 15, true)
AtAdd (News1, "07:00", "19:00", "1111111", 60, true)
AtAdd (News2, "07:00", "19:00", "1111111", 15, true)
AtExecute
quit
### Subroutines ###
Sub Mail1
If ($Connettiti = 1)
AttivaConnessione
If ($Tentativo >= 3)
Return
EndIf
EndIf
HamWaitIdle
HamMessage (4, 0) #[5]
HamMessage (5, 0) #[5]
HamWaitIdle
HamMailExchange #[3]
HamWaitIdle
HamMessage (4, 1) #[5]
HamMessage (5, 1) #[5]
If ($IsConnesso = 1)
HamRasHangup
$IsConnesso = 0
EndIf
EndSub
Sub News1
If ($Connettiti = 1)
AttivaConnessione
If ($Tentativo >= 3)
Return
EndIf
EndIf
HamWaitIdle
HamMessage (3, 0) #[6]
HamNewsJobsClear
HamNewsJobsPostDef
HamNewsJobsPullDef
HamNewsJobsStart
HamWaitIdle
HamMessage (3, 1) #[6]
If ($IsConnesso = 1)
HamRasHangup
$IsConnesso = 0
EndIf
EndSub
Sub Mail2
If (HamGetStatus(3, 7) > 0)
Mail1
EndIf
EndSub
Sub News2
If (HamGetStatus(3, 5) > 0)
News1
EndIf
EndSub
Sub AttivaConnessione
$Tentativo = 1
If (!RasIsConnected)
$IsConnesso = 1
While (HamRasDial ("Provider", "$1") != 0) #[4]
If ($Tentativo >= 3)
$IsConnesso = 0
Warning ("Connessione non riuscita!")
Return
endif
Inc ($Tentativo)
Sleep (10000)
EndWhile
EndIf
EndSub
### Fine Script ###
[1] Il valore della variabile $Connettiti decide se Hamster debba attivare una connessione di Accesso Remoto o meno. Se impostate il valore a 1, Hamster verifica se è già attiva una connessione; se non c'è alcuna connessione, ne attiva una (vedi anche nota [4]). Se non avete la necessità di attivare una connessione (ad esempio perché avete una connessione diretta, un router, ecc.), impostate il valore a 0 (zero).
[2] La prima delle righe AtAdd fa in modo che Hamster esegua la routine Mail1 ogni 30 minuti, dalle 7:00 alle 19:00 di tutti i giorni della settimana, da Lunedì a Domenica.
Se volete che Hamster scambi solo la posta, ma non le news, mettete un # all'inizio delle ultime due AtAdd, in modo che Hamster le ignori. Le singole subroutine eseguono questi compiti:
Mail1: riceve ed invia la posta da tutti i server SMTP e POP3 configurati dal menu Configura / Posta (vedi anche il punto [3]).
Mail2: verifica (più spesso) se ci sono e-mail in attesa nella cartella posta in uscita e, se è il caso richiama la subroutine Mail1 (che provvede quindi ad inviarle e, già che è connesso, riceve le e-mail dai server remoti).
News1: riceve ed invia gli articoli da tutti i server NNTP configurati dal menu Configura / News.
News2: verifica (più spesso) se ci sono articoli in attesa nella cartella news in uscita e, se è il caso richiama la subroutine News1 (che provvede quindi ad inviarli e, già che è connesso, riceve i nuovi articoli dai server remoti).
Nota Gli intervalli presenti nello script a cui Hamster aggiorna posta e news sono più che adeguati. Né la posta né le news sono sistemi di trasmissione in tempo reale, e quindi accorciare gli intervalli di tempo sovraccarica inutilmente i server di posta e news, e generalmente non è ben visto dagli amministratori dei server stessi (vale anche se avete una connessione flat (ADSL, ad esempio), e quindi a voi non costa nulla).
N.d.T.: se prevedete di lasciare Hamster sempre attivo, può addirittura essere ragionevole allungare l'intervallo tra le verifiche sui server remoti (Mail1 e News1) a 2 ore o più, mentre può essere ragionevole accorciare quelli di invio (Mail2 e News2) in modo da inviare subito i messaggi scritti.
[3] Per poter utilizzare il comando HamMailExchange è necessario che siano stati configurati i server POP3 ed SMTP in Configura / Posta (server ed impostazioni).
Se volete inviare la posta in uscita a differenti server SMTP, in funzione del mittente, dovete sostituire il comando HamMailExchange. Cancellate la linea che lo contiene, e rimpiazzatela con il pezzo che segue (aggiustando la configurazione per le vostre esigenze, qui c'è un esempio per GMX e per Web.de):
HamFetchMail ("pop.web.de")
HamFetchMail ("pop.gmx.net")
HamWaitIdle (20000)
HamSendMail ("smtp.web.de", "smtp","Utente1@web\.de")
HamSendMail ("mail.gmx.net", "smtp","Utente2@gmx\.de")
Se il server SMTP richiede un accesso autenticato con SMTP-Auth, dovrete usare il comando HamSendMailAuth al posto di HamSendMail. Le linee dell'esempio diventerebbero quindi:
HamSendMailAuth ("smtp.web.de", "smtp", "$2", "", "Utente1@web\.de")
HamSendMailAuth ("mail.gmx.net","smtp", "$3", "", "Utente2@gmx\.de")
Utilizzando le variabili $2 e $3 vengono passate le combinazioni di utente e password necessarie. Queste variabili vanno impostate in Configura / Account e password, pagina Password aggiuntive.
Nota Il comando HamSendMailAuth funziona solo se per il server corrispondente viene attivata la casella Autenticazione AUTH nella pagina delle proprietà, nel menu Configura Posta, pagina Server SMTP.
Nota [n.d.t.] quanto detto non è necessario per i server che basano l'autenticazione solo sull'indirizzo IP del client, ovvero la maggior parte dei provider italiani. In caso di dubbio, verificate.
[4] Il comando HamRasDial attiva una connessione utilizzando il provider indicato tra virgolette. Utilizzando la variabile $1 viene passata le combinazione di utente e password necessaria.
Fate attenzione al nome della connessione, che deve corrispondere esattamente con il nome presente nella cartella delle connessioni di Accesso Remoto, comprese le maiuscole/minuscole. La variabile $1 viene utilizzata la corrispondente combinazione di nome utente e password definita in Configura / Account e password, pagina Password aggiuntive.
[5] Con i comandi HamMessage (4, 0) e HamMessage (5, 0) vengono arrestati i server locali POP3 e SMTP, mentre i comandi HamMessage (4, 1) e HamMessage (5, 1) li riattivano. Questi sono messi per sicurezza, per evitare che possano venire scaricati o inviati dei messaggi proprio durante la sincronizzazione. Se siete sicuri che nessuno invii o riceva messaggi durante la sincronizzazione, potete anche rimuoverli, inserendo un # all'inizio di ogni linea marcata dai "[5]".
[6] Con il comando HamMessage (3, 0) viene arrestato il server locale NNTP, mentre il comando HamMessage (3, 1) lo riattiva. Questi sono messi per sicurezza, per evitare che possano venire scaricati o inviati degli articoli proprio durante la sincronizzazione (ad esempio per processarli con Korrnews e CopyIf). Se siete sicuri che nessuno invii o riceva articoli durante la sincronizzazione, potete anche rimuoverli, inserendo un # all'inizio di ogni linea marcata dai "[6]"
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento