ML-MailList edizione 1.20
Gestione accessibile di liste di invio e-mail
Copyright 2020-2024 Giuliano Artico
Pagina Web - Scrivi all'autore
Istruzioni per l'uso

Sommario

1. Introduzione

I servizi di newsletter più conosciuti consentono di svolgere con efficienza e versatilità l'invio di messaggi a destinatari multipli usufruendo di appositi elenchi di indirizzi e-mail (liste). Tuttavia l'utente può incontrare difficoltà nella configurazione e nel controllo delle liste perché spesso i relativi servizi Web sono scarsamente accessibili con le periferiche per non vedenti. In questi casi può essere indicato il ricorso alla procedura ML (MailList). Vedere limitazioni e vantaggi in [14].

La procedura ML ha lo scopo di inviare messaggi, opzionalmente dotati di uno o più allegati, agli indirizzi e-mail di un gruppo predisposto in un semplice file elenco. Il software consiste di due componenti:

L'amministratore della lista deve disporre di uno spazio Web per installare il modulo remoto e per caricare i messaggi e gli allegati che di volta in volta intende inviare. L'operazione di invio si svolge servendosi del modulo eseguibile locale. Ciascuna delle due componenti necessita di specifici file di configurazione nei quali l'amministratore deve indicare i parametri necessari per il funzionamento.

1.1 Installazione e configurazione in breve

Scaricare l'archivio di distribuzione e decomprimerlo, seguendo quanto indicato in [4] e [5]. Gli elementi necessari per il funzionamento sono elencati brevemente in questo paragrafo, separatamente per le due controparti, locale e remota.
Controparte locale [4].
Creare una cartella abilitata in scrittura, detta cartella della app, che non deve trovarsi nei programmi o in altre cartelle riservate di Windows e che dovrà contenere i file specificati di seguito.
  • La app ML (file eseguibile ml.exe).
  • Questo manuale, file ml.htm.
  • Per ciascuna lista, un file di configurazione locale con nome uguale al nome della lista ed estensione .ini.
  • Per ciascuna lista, un file di certificato con nome uguale al nome della lista in caratteri minuscoli ed estensione .cert (viene generato e aggiornato dalla app).
Controparte remota [5]
Creare sul server remoto una cartella con nome a piacere nella quale vanno copiati senza fare modifiche tutti i file contenuti nella sottocartella maillist fornita nell'archivio di distribuzione (script maillist.php e intera sottocartella phpmailer/).
Per ciascuna lista che si intende utilizzare, la cartella remota dovrà contenere gli elementi associati alla lista stessa e cioè:
  • il file di configurazione remoto,
  • il file con l'elenco degli indirizzi,
  • il file di certificato (identico a quello nella cartella locale),
  • il file con il corpo del messaggio (estensione .txt o .htm),
  • la sottocartella per gli allegati (facoltativa).

1.2. Requisiti per l'utilizzo

Torna al sommario.

2. Invio dei messaggi a blocchi

Com'è noto, quando i destinatari di un'e-mail multipla sono numerosi, occorre dividere l'elenco degli indirizzi in più gruppi o blocchi. Questo frazionamento è collegato alla necessità di impedire che il server di posta applichi filtri antispam che potrebbero ostacolare l'invio di una parte o addirittura di tutti i messaggi. Tipicamente viene consigliato di non superare mai il centinaio di destinatari per ciascun invio e, qualora ci siano più blocchi, di attendere una ventina di minuti prima di effettuare l'invio successivo. Accorgimenti di questo genere sono adottati in modo trasparente da tutti i servizi di newsletter, senza che l'utente se ne renda conto o debba preoccuparsene.

Non potendo contare su risorse particolari, ad esempio server SMTP multipli o altro, la procedura ML permette di adottare il criterio suddetto controllando la spedizione a blocchi temporizzati, con parametri definibili dall'utilizzatore. Per impostazione predefinita, i blocchi sono di 75 destinatari ed eventuali invii successivi vengono distanziati di 20 minuti.

Torna al sommario.

3. Liste di distribuzione

Una lista di distribuzione, o più semplicemente lista, è costituita da un elenco di indirizzi e-mail.
Per definire una lista occorre innanzitutto stabilirne il nome, una stringa di lunghezza compresa fra 3 e 30 caratteri, senza contare gli spazi, ad esempio:
UltimeNotizie
Al nome suddetto sono abbinati gli elementi di cui tratteremo nel seguito. In particolare, una volta stabilito il nome della lista, occorre preparare i seguenti file di configurazione (v. i modelli nella sottocartella modelli dell'archivio di distribuzione). Si tratta di file di testo da elaborare con il Blocco Note, Notepad++ o con altro editor.
  1. Un file di configurazione locale con estensione .ini da collocare nella cartella della app, la cartella in cui si trova il file eseguibile ml.exe. Se la lista ha il nome dell'esempio, il file di configurazione locale dovrà essere UltimeNotizie.ini (paragrafo 8).
  2. Un file di configurazione remoto con estensione .cfg da collocare nella cartella remota del server. Sempre seguendo l'esempio, questo file dovrà avere nome ultimenotizie-remote.cfg [9].
  3. Il file con l'elenco degli indirizzi e-mail, sempre con estensione .cfg e con nome del tipo ultimenotizie-email.cfg [10].
È possibile impostare un numero a piacere di liste indipendenti una dall'altra: basta predisporre per ciascuna i relativi file come sopra indicato.

Nota bene.
I nomi del file di configurazione remoto e del file degli indirizzi e-mail devono essere obbligatoriamente in caratteri minuscoli, come pure il nome dei file di certificato [4.1].

Torna al sommario.

4. Modulo locale

Il modulo locale, nel seguito la app, è costituito dal solo file eseguibile ml.exe, funzionante in ambiente Windows XP SP3 o versione successiva. Tutta la documentazione è contenuta in questo manuale ml.htm.

Il file ml.exe va messo in una cartella qualsiasi insieme con uno o più file di configurazione locale. In ambiente Windows7 o versione successiva tale cartella non deve trovarsi all'interno della cartella dei programmi di Windows e in nessun'altra cartella riservata.

Nella cartella della app, a ciascuna lista sono associati i file indicati di seguito.

File di configurazione locale
Questo file ha nome uguale al nome della lista ed estensione .ini (v. il file ModelloLista.ini).
File di certificato
Ogni lista richiede un proprio file di certificato con nome uguale al nome della lista in caratteri minuscoli ed estensione .cert.

4.1. Precisazioni sui file di certificato

I file di certificato, uno per ciascuna lista, sono utilizzati per proteggere l'accesso alla cartella remota [5].

Se non esiste, il file di certificato viene prodotto dalla app ML quando si preme Invio sul nome della lista prescelta. Una volta generato, questo file deve essere caricato nella cartella remota (con trasferimento binario). È essenziale che per ciascuna lista i file di certificato nella cartella locale e nella cartella remota siano presenti e identici tra loro.

Ogni file di certificato dovrebbe essere rinnovato almeno una volta all'anno. Per generarne uno nuovo basta cancellare il file di certificato esistente nella cartella della app e caricare nella cartella remota il nuovo file di certificato che la app produce automaticamente.

Torna al sommario.

5. Modulo remoto

Sono qui descritte le operazioni per installare e rendere operativo il modulo remoto.

Innanzitutto occorre creare nel server remoto una cartella con nome a piacere che chiameremo cartella remota. In questa cartella va copiato tutto il contenuto della cartella maillist fornita nell'archivio di distribuzione e precisamente:

Inoltre, per ciascuna lista, avente nome ad esempio modellolista, la cartella remota dovrà contenere gli elementi indicati di seguito.
File di configurazione remoto
Questo file ha nome del tipo modellolista-remote.cfg [9].
Elenco degli indirizzi
Per impostazione predefinita, il file degli indirizzi ha nome del tipo modellolista-email.cfg [10].
Il file di certificato
Ciascuna lista è abbinata a un proprio file di certificato che viene prodotto dalla app ML e che deve essere presente sia nella cartella della app sia nella cartella remota [4.1].
Il file con il corpo del messaggio
Questo file ha nome uguale al nome della lista in caratteri minuscoli e una delle estensioni .txt o .htm [6].
La sottocartella per gli allegati
Questa cartella, che è facoltativa, ha nome uguale al nome della lista in caratteri minuscoli [6].

5.1. La cartella public/

È necessario che nello spazio Web remoto esista in radice la cartella public/ e che essa sia abilitata in scrittura. In questa cartella vengono parcheggiati temporaneamente i dati durante il tempo che intercorre fra gli invii successivi. Normalmente questa cartella è già predisposta dal fornitore dello spazio Web. Se ciò non fosse, occorre generarla e dotarla dell'attributo di scrittura mediante le apposite funzioni di gestione dello spazio Web.

Torna al sommario.

6. Preparazione delle e-mail

Dopo aver adattato alle proprie esigenze la configurazione di una lista, si può iniziare l'operazione di invio dei messaggi.

Per predisporre l'invio di una e-mail alla lista occorre caricare sul server il file con il testo o corpo del messaggio e, qualora lo si desideri, uno o più allegati. Il corpo del messaggio può essere redatto in un file con uno dei formati testo (estensione .txt) oppure HTML (estensione .htm). Il nome del file è obbligatoriamente uguale al nome della lista in caratteri minuscoli e l'l'estensione è quella corrispondente al tipo prescelto (v. la chiave BodyType nel file di configurazione remoto).

Gli eventuali allegati vanno caricati nella sottocartella avente nome uguale a quello della lista in caratteri minuscoli. Per impostazione predefinita, il numero di allegati non deve superare 3 e la loro grandezza complessiva non deve superare i 5 Mb. Questi valori possono essere reimpostati agendo nel file di configurazione remoto relativo alla specifica lista.

Torna al sommario.

7. Esempio con i passi particolareggiati per preparare un messaggio

A titolo esemplificativo, supponiamo che il nome della lista sia UltimeNotizie. I passi da compiere sono indicati di seguito.
  1. Preparare il corpo del messaggio nel file ultimenotizie.txt oppure ultimenotizie.htm, a seconda del formato prescelto.
  2. Preparare gli eventuali file che si vogliono allegare, con le limitazioni di numero e grandezza indicati più sopra (non c'è alcuna restrizione sul nome o sul tipo dei file).
  3. Caricare il file con il corpo del messaggio nella cartella remota e gli allegati nella sua sottocartella ultimenotizie/.
  4. Avviare la app ML (file ml.exe).
  5. Qualora siano state impostate più liste, scegliere quella desiderata con le frecce oppure Tab/Shift+Tab.
  6. Premere Invio. La app presenta i parametri remoti (numero di iscritti, numero e grandezza degli allegati, eccetera).
  7. Se i dati corrispondono a quanto desiderato, premere Invio o Spazio e attendere. Il procedimento è automatico e la sua durata dipende dal numero di iscritti.

Torna al sommario.

8. File di configurazione locale

Il file di configurazione locale di una lista deve trovarsi nella cartella della app, quella che contiene il file ml.exe, e il suo nome deve essere uguale al nome della lista stessa con l'aggiunta dell'estensione.ini. Ad esempio, se la lista si chiama UltimeNotizie, il file avrà nome
UltimeNotizie.ini
La prima riga del file deve contenere il nome della lista nella forma seguente (dove le parentesi quadre, il prefisso ML e il carattere | sono obbligatori, mentre eventuali spazi nel nome della lista sono facoltativi e vengono ignorati):
[ML|UltimeNotizie]
Le righe successive contengono le impostazioni, una per riga, nella forma chiave=valore.
Ciascuna chiave può essere scritta indifferentemente con caratteri maiuscoli o minuscoli mentre eventuali maiuscole sono significative nei valori.
Ogni riga che inizia con # viene ignorata e può quindi essere utilizzata come descrizione o commento.
Nome e cognome dell'amministratore
Sono obbligatori e si impostano come segue:
NomeAdmin=Mario
CognomeAdmin=Rossi
Indirizzo della cartella remota
L'indirizzo è l'URL completo (in presenza di più URL, viene accettato il primo valido):
CUrlML=https://www.nomedominio.com/maillist/
Vedere l'osservazione sulla cartella remota in [12].
Parametri di invio
I seguenti parametri di invio sono facoltativi (in loro assenza vengono adottati i valori predefiniti):
  • Numero massimo destinatari per blocco (predefinito 75, v. switch /B):
    CBloLen=75
    
  • Tempo in secondi fra l'invio dei blocchi (predefinito 1200, v. switch /B):
    CBloCad=1200
    
Note.
  1. I parametri di invio possono essere impostati con opportuni switch da riga di comando in modo da assumere valori comuni a tutte le liste e, in tal caso, i rispettivi parametri nel file di configurazione locale vengono ignorati.
  2. Se il numero i destinatari è maggiore o uguale di 10, la lunghezza dei blocchi (chiave CBloLen) viene approssimata dalla procedura in modo da uniformarne la lunghezza. Ad esempio, se ci sono 180 destinatari e si specifica un numero massimo di 75 destinatari per blocco, il numero viene ridotto a 60.
Tipo di esecuzione
Può essere automatica (valore 1, predefinito) oppure manuale (valore 0), v. lo switch /T):
CCAuto=1
Modalità di scrittura del resoconto
Il valore predefinito è 0 (sovrascrittura). Porre il valore a 1 se si vuole che i dati vengano accodati senza cancellare il file preesistente (v. lo switch /A):
CLogAppend=0
Volume dei suoni
È possibile regolare o azzerare il volume dei suoni con la prossima chiave, che esprime un valore in percentuale da 0 a 100 (predefinito 25):
CVolume = 25

Torna al sommario.

9. File di configurazione remoto

Il file di configurazione remoto di una lista deve trovarsi nella cartella remota, la stessa in cui si trova lo script maillist.php. Il suo nome deve essere uguale a quello della lista stessa seguito da -remote.cfg.

Il file di configurazione remoto deve avere la stessa intestazione del corrispondente file di configurazione locale. Ad esempio, per la lista di nome UltimeNotizie, la prima riga deve essere:

[ML|UltimeNotizie]
Per quanto riguarda le impostazioni, valgono regole analoghe a quelle del file di configurazione locale: i dati si impostano con assegnazioni del tipo Chiave=Valore, dove la chiave è insensibile alle maiuscole, mentre il valore le deve rispettare. Ogni riga che inizia con # viene ignorata e può essere usata come descrizione o commento. In alcune chiavi conviene lasciare vuoto il valore per adottare quello predefinito.
Nome e cognome dell'amministratore
Sono obbligatori e devono coincidere con quelli impostati nel corrispondente file di configurazione locale. Ad esempio:
NomeAdmin=Mario
CognomeAdmin=Rossi
Cartella contenente l'elenco dei destinatari
La chiave seguente serve per specificare il percorso della cartella contenente il file con l'elenco dei destinatari. Salvo casi molto particolari, è consigliabile lasciare vuoto questo valore: in tal caso, oppure anche quando la cartella indicata non esiste, viene adottata la cartella remota contenente lo script:
AdrFold=
Nota. Il percorso si intende assoluto, a partire dalla radice).
File contenente l'elenco indirizzi dei destinatari
Deve trovarsi nella cartella definita con la chiave AdrFold (che necessariamente deve essere posta prima). Normalmente conviene lasciare vuoto questo valore per fargli assumere il valore predefinito, che è il nome della lista in minuscole seguito da -email.cfg, ad esempio ultimenotizie-email.cfg:
AdrFile=
Descrizione della lista
Specificare con la prossima chiave una breve descrizione della lista (comparirà nell'oggetto dei messaggi). Il valore non deve essere vuoto. Ad esempio:
MailSubj=Notizie di attualità e sport
Indirizzo e-mail di provenienza dei messaggi
Questo è l'indirizzo email che i destinatari vedranno come mittente. Ad esempio, può coincidere con quello indicato più sotto per l'accesso al server SMTP. Il valore predefinito è notifiche@dominio.com, dove dominio.com è il dominio in cui è ospitata la cartella remota:
MailAdmin=
Dati per l'accesso al server SMTP di invio posta
I prossimi cinque parametri sono essenziali: servono per consentire l'accesso a un server SMTP per l'invio dei messaggi, in modo analogo ai valori che si impostano per definire un account di posta in Outlook Express o altro client di posta. Qui sono indicati valori fittizi che ciascun amministratore deve adattare alla propria situazione:
SmtpUser=utente@dominio.com
SmtpPass=PasswordAccount
SmtpAdr=smtps.aruba.it
SmtpPort=465
SmtpSecure=ssl
Formato preferito per il corpo del messaggio
Il file con il corpo del messaggio ha nome obbligatorio uguale a quello della lista. L'estensione può essere .txt (formato testo) oppure .htm (formato HTML). La procedura utilizza quello dei due che è presente nella cartella di maillist.php. La prossima chiave specifica il formato preferito (0=testo, 1=HTML, predefinito 0), nell'eventualità che entrambi i file siano presenti:
BodyType=0
Richiesta di conferma di lettura
Se alla prossima chiave viene assegnato il valore 1, i destinatari riceveranno la richiesta di conferma di lettura. Il valore predefinito è 0.
ReadCfm=0
Indirizzo e-mail per la conferma di lettura
La prossima chiave specifica l'indirizzo e-mail per la conferma di lettura, utilizzato quando la precedente chiave ReadCfm è impostata al valore 1. Il valore predefinito è l'indirizzo specificato con la chiave SmtpUser:
CfmEmail=
Presenza del messaggio in coda
Normalmente in coda ai messaggi viene aggiunto l'avviso che l'indirizzo e-mail della lista non è abilitato a ricevere risposte. Porre a 0 il valore nella chiave seguente se si preferisce che tale messaggio non venga aggiunto.
AddNoReply=1
Indirizzo e-mail per il resoconto all'amministratore
Al termine dell'intera procedura viene inviato un resoconto riservato all'amministratore utilizzando l'indirizzo specificato nella chiave seguente. È possibile indicare più indirizzi separati da virgola. Il valore predefinito coincide con l'indirizzo specificato con la chiave SmtpUser:
StaffEmail=
Grandezza complessiva degli allegati
Specificare con la prossima chiave la grandezza complessiva massima in Kb ammessa per gli allegati (il valore predefinito è 5000 Kb):
MaxAttSize=5000
Numero massimo di allegati
Specificare il numero massimo di allegati, predefinito 3:
MaxAttNum=3

Torna al sommario.

10. Formato del file con gli indirizzi e-mail dei destinatari

Per impostazione predefinita, il file con gli indirizzi e-mail dei destinatari è posto nella cartella remota, la stessa che contiene lo script maillist.php e il file di configurazione remoto. Il nome predefinito del file è costituito dal nome della lista in minuscole seguito da -email.cfg, ad esempio ultimenotizie-email.cfg. In casi particolari potrebbe essere utile sfruttare lo stesso file di indirizzi per più liste diverse. Questa è la ragione per cui la chiave AdrFile consente di specificare un nome a piacere per tale file.

Il file degli indirizzi deve contenere nella prima riga solo l'etichetta di intestazione obbligatoria [ML]. In questo caso nell'etichetta non vaspecificato il nome della lista, come nei file di configurazione, proprio perché il file potrebbe essere abbinato a più liste diverse. Anche in questo caso si possono utilizzare righe di commento ponendo all'inizio il carattere #. Eccezion fatta per la prima riga e per le eventuali righe di commento, il file ha la struttura di un file CSV con separatore ; (punto e virgola). Più precisamente, in ogni riga va riportato un destinatario secondo lo schema seguente:

Conviene che l'amministratore riservi a se stesso il primo record, cosicché nella copia a lui destinata avrà modo di verificare tempestivamente l'aspetto del messaggio inviato.

Torna al sommario.

11. Funzionamento della app ml.exe

11.1. Tasti

Nella schermata di avvio della app ml.exe sono disponibili i tasti indicati di seguito.
Frecce verticali oppure Tab/Shift+Tab (scelta)
effettuare la scelta della lista, qualora ve ne sia più di una.
Invio oppure spazio (avvio)
avviare il procedimento per la lista selezionata.
[Shift+]F1 oppure lettera H (manuale)
Con questi tasti viene visualizzato il manuale mediante il browser predefinito. Precisamente:
  • F1 apre il file ml.htm, se questo è presente nella cartella della app, altrimenti apre il manuale accedendo al sito Web della app. Lo stesso avviene premendo la lettera H.
  • Shift+F1 apre comunque il manuale accedendo al sito Web.
F2 oppure lettera D (download)
visualizzare il numero della versione più aggiornata ed eventualmente scaricare l'archivio di distribuzione.
Alt+F4 oppure Esc (uscita)
terminare la sessione della app.

11.2. Switch da riga di comando

Sono previsti alcuni switch da riga di comando per controllare il funzionamento e i valori dei parametri. La riga di comando può contenere switch in numero e ordine a piacere. Nella descrizione che segue, accanto agli switch è indicata, quando prevista, la chiave corrispondente nel file di configurazione locale. Il valore impostato con uno switch ha la prevalenza, cioè viene applicato a qualunque lista indipendentemente dal valore specificato con la chiave corrispondente.
Sintassi
Switch /? e /H
Mostrano la sintassi e l'elenco degli switch disponibili. Per poter essere visualizzato, il comando che impiega questi due switch deve essere eseguito dal prompt di Windows oppure reindirizzato su un file. Esempi:
ml.exe /h
ml.exe /?>ElencoSwitch.txt
Modalità di scrittura del resoconto
Switch /A (chiave CLogAppend).
Imposta il modo accodamento per il resoconto di tutte le liste. Esempio:
ml.exe /A
Parametri di invio
Switch /B[l[,c]] (chiavi CBloLen e CBloCad).
Imposta la grandezza dei blocchi (valore l) e il tempo in secondi da lasciar trascorrere fra un blocco e il successivo (valore c). Esempio:
ml.exe /b50,1000
Switch /C.
Forza l'adozione del metodo Curl per l'accesso a Internet [16].
Verifica disponibilità aggiornamenti
Switch /N.
Normalmente all'avvio la app verifica se esiste una versione aggiornata. Se si preferisce che tale informazione non compaia a video, avviare la app con lo switch /N. L'informazione viene comunque riportata nel file resoconto. Esempio:
ml.exe /N
L'archivio aggiornato può essere comunque scaricato premendo F2 oppure la lettera D nella schermata di avvio.
Tipo di esecuzione
Switch /T[0|1] (chiave CCAuto).
Normalmente l'invio dei blocchi, qualora ve ne sia più di uno, avviene automaticamente, lasciando trascorrere il tempo previsto fra un blocco e l'altro. Questa è la modalità consigliata. Se però si utilizza lo switch /T0, al termine di ciascun blocco l'esecuzione termina e per poter inviare il blocco successivo occorre riavviare la app. Esempio:
ml.exe /T1
Volume dei suoni
Switch /V[v] (chiave CVolume).
Questo switch imposta il volume delle segnalazioni acustiche. Il numero v è una percentuale che può variare fra 0 e 100, dove il valore 0 implica la soppressione di tutti i suoni. Esempio:
ml.exe /V50
Dialogo di connessione
Switch /$CONNECT (caratteri maiuscoli).
Se si specifica questo switch, il dialogo di connessione a Internet viene trascritto nel resoconto connect-ml.log (lo stesso file qualunque sia la lista). Questo resoconto viene sempre scritto in accodamento e la sua eventuale cancellazione va gestita a cura dell'utilizzatore.

11.3. Riassunto degli switch

Riassumendo, queste sono le informazioni mostrate con il comando ml.exe /H.
Sintassi: ml.EXE [/?] [/A] [/B] [/C] [/N] [/T] [/V] [/$CONNECT]
/? o /H viene visualizzato l'elenco delle opzioni disponibili.
/A        imposta il modo accodamento per i resoconti di tutte le liste.
/B[l[,c]] parametri per i blocchi: l=lunghezza, c=cadenza.
/C        forza l'adozione del metodo Curl.
/N        all'avvio non avvisa mai se esiste una nuova versione della app.
/T[0|1]   tipo di esecuzione: 0=manuale, altrimenti automatica.
/V[v]     imposta il volume delle segnalazioni acustiche [0-100].
/$CONNECT abilita la scrittura del resoconto di connessione connect-ml.log.

11.4. Rendicontazione

Al termine di ogni sessione la app ML genera un file resoconto. Se la app viene terminata prima di aver premuto Invio sul nome di una lista, il resoconto ha nome ml.log. Altrimenti il nome è uguale al nome della lista scelta con estensione .log, ad esempio UltimeNotizie.log. Se già esiste un resoconto precedente, di norma esso viene cancellato e sostituito con quello nuovo. Se si preferisce che i dati vengano accodati nel file già esistente, utilizzare lo switch /A o la chiave CLogAppend.

Anche lo script maillist.php produce un resoconto che viene spedito via e-mail all'amministratore al termine dell'invio dei messaggi (v. la chiave StaffEmail nel file di configurazione remoto).

Infine è possibile registrare nel file connect-ml.log il dialogo di connessione a Internet avviando la app con lo switch /$CONNECT.

Torna al sommario.

12. Protezione dei dati

Nell'utilizzare la procedura ML, si raccomanda di adottare le precauzioni indicate di seguito.
  1. Utilizzare una cartella remota con nome diverso da maillist/, la cartella che risulta quando si decomprime l'archivio di distribuzione. Ad esempio, se si sceglie il nome MieListe/, occorrerà adattare come segue l'URL nel file di configurazione locale:
    CUrlML=https://www.nomedominio.com/MieListe/
    
  2. Mantenere la massima riservatezza dei dati. In particolare, non cedere a terzi le credenziali di accesso al proprio spazio Web, gli elenchi di indirizzi e-mail, i file di configurazione e i file di certificato. Ad esempio, tenere presente che se un malintenzionato dovesse appropriarsi del file di certificato, potrebbe facilmente inviare e-mail spacciandosi per l'amministratore della lista.
  3. Utilizzare un server SMTP che supporti il protocollo cifrato SSL, ad esempio smtps.aruba.it, e abilitare tale protocollo con le chiavi SmtpPort e SmtpSecure in tutti i file di configurazione remoti.
  4. Se l'accesso al dominio lo consente, si raccomanda di specificare nella chiave CUrlML del file di configurazione locale un URL sicuro, cioè un indirizzo di tipo https://. Questo accorgimento riduce al minimo la possibilità che gli accessi al server da parte della app ML possano essere intercettati.
  5. Quando si sceglie di impiegare URL di tipo non sicuro http://, occorre essere consapevoli che tutti i dati viaggiano in chiaro sulla rete e che possono essere memorizzati nei nodi di transito e facilmente acquisiti da qualunque eventuale malintenzionato (a tal fine non occorrono capacità tecniche particolarmente raffinate). Questa considerazione riguarda qualunque applicazione che accede alla rete, ad esempio i browser Internet. Considerando comunque che in certi casi potrebbe essere impossibile l'adozione del protocollo sicuro, la procedura ML adotta per le query una cifratura che, pur non essendo particolarmente robusta, ha lo scopo di mascherare i dati.
  6. f) Se si decide di utilizzare per il file degli indirizzi un nome diverso da quello predefinito, conviene adottare l'estensione .cfg, come per i file di configurazione remoti.
    Il file .htaccess incluso nella distribuzione è destinato a proteggere i file con estensione .cfg in modo che essi non siano accessibili dall'esterno del dominio qualora il server Web sia ospitato in una piattaforma Apache (ad esempio l'hosting Linux di Aruba). Il file .htaccess non svolge alcun ruolo se il sistema operativo remoto è IIS (ad esempio in hosting Windows di Aruba), ma in questo caso non occorrono precauzioni, purché l'estensione .cfg non sia stata abilitata intenzionalmente. In caso di dubbi, per verificare la situazione, dopo aver caricato sul server un file con estensione .cfg, provare ad accedervi scrivendone l'URL nella barra degli indirizzi di un qualunque browser Internet.
  7. La procedura ML impiega le seguenti restrizioni per validare le query.
    • Nelle due chiavi che specificano il nome e il cognome dell'amministratore i valori devono combaciare esattamente fra il file di configurazione locale e il file di configurazione remoto della stessa lista.
    • Il file di certificato relativo a ciascuna lista deve essere identico nella cartella locale e nella cartella remota.

Torna al sommario.

13. Gestione di più liste

Se non è richiesto l'invio contemporaneo di messaggi a più liste, la cartella della app può ospitare i file relativi a un numero di liste a piacere. Se invece si ha la necessità di operare simultaneamente con più liste, è necessario utilizzare più copie dell'eseguibile ml.exe attive in diverse finestre e in diverse cartelle oppure, volendo, in PC diversi.

Avvertenza importante. Se terminando la app rimangono blocchi non ancora inviati, si raccomanda di non utilizzare per la stessa lista la app in una diversa cartella. Infatti i file con estensioni .ini e .log di quella lista vengono modificati dalla app e contengono informazioni necessarie per il corretto funzionamento della sessione successiva. Comunque, se dovesse proprio rendersi necessario cambiare cartella oppure PC, prima di riavviare l'eseguibile ml.exe è indispensabile copiare i due file aggiornati nella nuova cartella.

Osservazione. Il requisito di file di certificato distinti per liste diverse è una scelta progettuale per consentire a più liste di essere operative simultaneamente.

Torna al sommario.

14. Messaggi di errore

Gli errori che possono presentarsi durante l'elaborazione dipendono generalmente da difetti o incompletezze nella personalizzazione dei file di configurazione. Qui di seguito sono riportati i messaggi di errore più comuni.
Errore di accesso alla rete.
File di certificato nomelista.cert mancante nella cartella remota.
Errore: i certificati locale e remoto nomelista.cert sono diversi.
Errore di certificato in nomelista.cert ...
Cognome amministratore errato.
Nome amministratore errato.
Parametri errati.
Errore nell'inizializzazione remota.
Errore di invio. Impossibile proseguire [descrizione errore].
Errore del server durante la registrazione dei dati.
La cartella .../public/ deve esistere e deve essere abilitata in scrittura.
Nome della mailing list non specificato.
Il nome della mailing list deve contenere almeno una lettera o una cifra.
...: impossibile utilizzare questo nome per la lista in quanto riservato.
nomelista-remote.cfg: file di configurazione remoto mancante.
nomelista-remote.cfg: intestazione errata.
File con elenco iscritti non trovato: ...
...: indirizzo email vuoto.
...: indirizzo email ... non valido.
Oggetto della mailing list vuoto.
File con il corpo del messaggio mancante o vuoto.
Il corpo del messaggio ha lunghezza ..., eccedente la massima grandezza consentita di ... byte.
File lista indirizzi non valido.
Lista indirizzi vuota.
Errore script remoto.

Torna al sommario.

15. Vantaggi e limitazioni della procedura ML

Vantaggi.
  1. L'elenco degli indirizzi è contenuto in un semplice file in formato testo, che può essere preparato e modificato con qualunque editor.
  2. Praticamente non esistono limiti nel numero dei destinatari presenti in una lista.
  3. Si possono configurare a piacere la grandezza dei blocchi e la temporizzazione.
  4. I messaggi possono essere dotati di uno o più allegati. La scelta dei file allegati e del loro tipo non è soggetta a limitazioni ed è lasciata alla cura dell'amministratore.
  5. Normalmente l'invio si svolge in modo del tutto automatico. Tuttavia, nel caso in cui siano necessari più blocchi, è possibile differire l'invio dei blocchi non ancora inviati a un momento successivo (all'occorrenza anche abbandonando la procedura ed eventualmente spegnendo il PC).
  6. Il modulo locale è costituito da un unico file eseguibile senza alcuna libreria, accede a Internet con le sole risorse di sistema e non tocca il file registro.
  7. È possibile gestire più liste tanto nella stessa cartella quanto in cartelle diverse dello stesso o di altri PC.
Limitazioni
  1. L'operatività della procedura è a senso unico, in particolare ai membri di una lista non è offerta la possibilità di interagire tra loro.
  2. L'iscrizione dei membri di una lista viene svolta esclusivamente dall'amministratore che deve aggiornare l'elenco con un editor e curare i contatti con i destinatari.
  3. L'invio può richiedere un tempo rilevante se i destinatari sono molto numerosi. Naturalmente si può continuare a lavorare con il PC in una finestra distinta da quella della app ML.
  4. L'interfaccia del modulo ML in ambiente Windows è di tipo console, cioè di puro testo ed è molto essenziale.
  5. L'interazione fra il modulo locale ml.exe e lo script remoto è soggetto ad alcune fragilità intrinseche della comunicazione a distanza tramite la connessione di rete Internet.

Torna al sommario.

16. Metodo di accesso a Internet

Per impostazione predefinita, in Windows 7 e versioni successive la app ML accede a Internet direttamente con la libreria di sistema urlmon.dll.
In Windows XP, questo metodo non supporta il protocollo SSL, cioè non consente di accedere a URL del tipo https:// e perciò in tale sistema l'accesso avviene con il metodo Curl.

Anche nelle versioni recenti di Windows è possibile forzare l'uso del metodo Curl specificando da prompt lo switch /C.

Torna al sommario.

17. Licenza per la distribuzione e l'uso

Il software ML può essere utilizzato e distribuuito gratuitamente. Nessuno è autorizzato a chiedere compensi per la fornitura, per l'installazione, per l'utilizzo o comunque per qualsivoglia servizio inerente questo software. Pur rimanendo a disposizione di chi desiderasse chiarimenti o volesse fare osservazioni, l'autore declina ogni responsabilità per eventuali conseguenze riconducibili in qualunque modo a questo software o ai file ad esso acclusi. L'utilizzatore assume implicitamente in modo completo e in prima persona tale responsabilità nel momento in cui inizia a servirsi della procedura e non potrà rivalersi in alcuna forma sull'autore per danni o conseguenze di qualunque natura, reali o presunti, che si possano far risalire direttamente o indirettamente all'uso di questo software. \

Per quanto riguarda il software PHPMailer, fare riferimento alla licenza nella home-page di PHPMailer.

Torna al sommario.

18. Variazioni

In questa sezione sono riportate le modifiche della app rispetto alle versioni precedenti.

Variazioni nella versione 1.20

  1. Ora l'accesso a Internet avviene generalmente mediante le librerie di sistema, riservando il metodo Curl al solo caso di utilizzo in Windows XP.
  2. Aggiornato lo script maillist.php per renderlo compatibile con PHP 7.
  3. Aggiornato il software PHPMailer incluso nell'archivio di distribuzione.
  4. Abolito lo switch /E.
  5. Miglioramenti generali e correzioni di bug.

Torna al sommario.

19. Download

La procedura ML viene distribuita mediante un archivio compresso di tipo ZIP.

L'installazione ha luogo decomprimendo tale archivio con un qualunque software di archiviazione e svolgendo le operazioni illustrate nei paragrafi [4] e [5], che comprendono il caricamento dei certificati e dei file di configurazione ivi descritti.

L'archivio compresso è disponibile gratuitamente all'indirizzo seguente:

https://www.artico.name/soft/ml/
L'archivio aggiornato può essere scaricato anche dalla app ML premendo F2 oppure D, prima di effettuare la scelta della lista.

Torna al sommario.