Per velocizzare l’invio ripetitivo di un documento cartaceo in PDF via E-Mail, alcune stampanti multifunzione da ufficio hanno un grosso display touch-screen da cui, con un paio di “tocchi” al massimo, è possibile scansire e inviare un documento via EMail in formato .PDF.

Qualora non si disponga di una stampante di questo tipo, ma solo di una stampante “normale” (collegata via USB, Wi-Fi o Ethernet al PC) ho ideato un batch (ovvero i vecchi file .BAT che si usavano anche con Ms-Dos), piuttosto rudimentale ma che comunque sembra funzionare con qualsiasi PC Windows odierno. Vero che questa cosa poteva essere risolta in modo molto più elegante, ma d’altronde è la classica soluzione “quick and dirty“.

Questa soluzione si applica anche nel caso si disponga di stampanti più moderne che consentano l’invio delle e-mail – ma talvolta questo richiede una navigazione nel menù oppure non è possibile personalizzare l’indirizzo di posta elettronica del mittente.

Con questa soluzione, oltre al mittente è possibile personalizzare anche l’oggetto del messaggio e – in modo automatico – il nome del file, inserendo anche un testo statico di accompagnamento.

Il “cuore” della soluzione è l’utility open-source NAPS2 (https://www.naps2.com/) che mette a disposizione una riga di comando da cui lanciare scansioni in modo “silent” utilizzando dei profili pre-impostati.

Per procedere:

  • Scaricare e installare NAPS2
  • Da “Profili” selezionare “Nuovo”
  • Nominare il nuovo profilo come “PRED” (a meno che non vogliate adattare poi il file batch)
  • Selezionare lo scanner da utilizzare e impostare le proprietà della scansione. I settaggi qui sotto sono quelli che consiglio per una scansione bianco/nero utile per documenti senza immagini.
  • (Consiglio di cliccare su OK ed eseguire un test premendo “Scansiona” per verificare le impostazioni siano corrette)
Interfaccia di NAPS2
  • NAPS2 mette anche a disposizione un’utile funzionalità che evita l’invio di pagine sotto ad una certa percentuale di copertura (tipico di quando si infila il foglio nello scanner al contrario), e che può essere impostata cliccando su “Avanzate”:
Impostazioni avanzate del profilo di scansione
  • Fatto questo, dovete creare una folder denominata C:\SCAN_NAPS2 nel vostro Hard Disk (può essere personalizzata modificando lo script)
  • Spostatevi ora nella folder di installazione di NAPS2 (di default C:\Programmi\NAPS2) e copiateci i seguenti file:
    • Dal sito https://github.com/muquit/mailsend/releases/ scaricate l’ultima versione disponibile di Mailsend. Scompattate il file .exe e rinominatelo “mailsend.exe”
    • Create un file di testo chiamato “TestoEmail.txt” (occhio all’estensione – nel caso abilitate da Esplora Risorse la visualizzazione delle estensioni per essere sicuri)
    • All’interno del file TestoEmail.txt inserite il testo di accompagnamento della vostra Email. E’ un testo statico che, almeno di non modificare lo script, non può essere variato. Ad esempio “In allegato il documento richiesto – Cordiali Saluti“.
    • Bene, ora il passaggio più complesso: dobbiamo creare un file di testo denominato “spedisci.bat” in cui copiare e incollare il seguente script – che è da aggiustare nelle parti scritte sotto:
@echo off
setlocal
cls
echo BATCH INVIO VELOCE EMAIL
echo -------------------------------------------
echo Copyright (C) www.cubattoli.it
echo .
echo .
echo ** ACCERTARSI CHE L'ORIGINALE SIA GIA' STATO CARICATO A FACCIA IN SU SULLO SCANNER **
echo Digitare Ctrl + C per abbandonare in qualsiasi momento
echo .
echo .
set /p oggetto=Oggetto?
echo.
echo.
echo 1 - Genero nome del file e verifico se esiste la subfolder \OLD, altrimenti la creo

REM Creo variabile oggettomail
set oggettomail=Invio documento oggetto%

REM Verifica se la cartella di destinazione esiste, altrimenti la crea
if not exist "C:\SCAN_NAPS2\OLD" mkdir "C:\SCAN_NAPS2\OLD"

REM Ottiene data e ora con wmic (formato YYYYMMDDHHMMSS.mmmmmm+UUU)
for /f "tokens=2 delims==." %%a in ('wmic os get localdatetime /value') do set datetime=%%a

REM Estrapola anno, mese, giorno, ora, minuti e secondi
set aaaa=%datetime:~0,4%
set mm=%datetime:~4,2%
set gg=%datetime:~6,2%
set hh=%datetime:~8,2%
set min=%datetime:~10,2%
set ss=%datetime:~12,2%

REM Combina data e ora nel formato corretto AAAA_MM_GG__HH_MM_SS
set newdatetime=%aaaa%_%mm%_%gg%__%hh%_%min%_%ss%

REM Definisce il nome del nuovo file
set newfilename=C:\SCAN_NAPS2\%newdatetime%__%oggetto%.pdf
echo 1 - Il nome file sara' : %newfilename%
echo 2 - Avvio scansione...

"C:\Program Files\NAPS2\naps2.console" -o "%newfilename%" -p "PRED"


echo 3 - Attesa controllo presenza file PDF... 5 secondi ...
timeout /t 5 /nobreak > nul

if exist %newfilename% (
  echo 4 - Procedo con l'invio...
  
	
	cd C:\Program Files\NAPS2
	mailsend -name "Nome del mittente" -f email@del-mittente.it -t email@del-destinatario.com -smtp smtps.mittente.it -port 465 -ssl -auth-login -user email@del-mittente.it -password PasswordAccountPosta -sub "%oggettomail%" -attach "TestoEmail.txt,text/plain,i" -attach "%newfilename%"
	REM aggiungere opzione -cc per inviare in copia a qualcun'altro
	echo .
	echo .
	echo.
	echo - Controllare esito invio Email nella riga sopra, questa finestra si chiudera' da sola fra 1 minuto.
	echo - Il file PDF inviato viene spostato nella sottodirectory \OLD
	move %newfilename% C:\SCAN_NAPS2\OLD\
	timeout /t 60 /nobreak > nul
	exit
  
) else (
  echo Si e' verificato un errore non risolvibile al momento oppure si è scansito un documento bianco (controllare il lato di inserimento).
  echo Il file PDF in sospeso e' stato lasciato in C:\SCAN_NAPS2\
echo .
pause
)

Come intuibile, il batch andrà a creare un file denominato aaaa_mm_gg__hh_mm_ss__oggetto.pdf al fine di evitare sovrascritture e poter archiviare tutti gli invii.

Qualora il provider in uso non supporti SSL ma STARTTLS, sostituire la porta da 465 a 567 e l’opzione -starttls con -ssl

Chiaramente è possibile adattare e/o automatizzare l’invio a più destinazioni “clonando” il file batch.

Come intuibile, l’inconveniente qui sono le password in chiaro – per cui si raccomanda un utilizzo cauto e solo sui PC personali, evitando di lasciare il file .BAT personalizzato su PC non protetti.

E’ possibile poi aggiungere un collegamento (shortcut) al file batch sul desktop del PC in modo da poterlo lanciare quando necessario in modo rapido – con click destro – proprietà sul collegamento, sarà anche possibile variarne l’icona per renderlo maggiormente riconoscibile.


Leave a Reply

Your email address will not be published. Required fields are marked *