Come configurare il server SMTP di Windows Server 2022

Il server SMTP di windows server è presente anche nella versione 2022 purtroppo però la consolo di gestione non funziona visualizzando un errore alquanto fastidioso appena si cerca di andare a impostare i parametri del server SMTP.

Il problema parte da un file di configurazione a cui manca un parametro vediamo come risolvere:

Innanzitutto fermiamo i servizi interessati: “Simple Mail Transfer Protocol” (SMTP) e “IIS Admin Service” (IISADMIN) con:

NET STOP SMTPSVC
NET STOP IISADMIN

Andiamo in edit del file:

C:\Windows\System32\inetsrv\MetaBase.xml

Cerchiano la stringa:

/LM/SmtpSvc/1

e aggiungiamo la riga

RelayIpList=""

Salviamo il file e facciamo ripartire i servizi con:

NET STOP SMTPSVC
NET STOP IISADMIN

Apriamo la console di gestione di “Internet Information Services (IIS) 6.0” e a questo punto saremo in grado di impostare i parametri del server come più ci aggrada.

Come testare il servizio di mail SMTP tramite la linea di comando e TELNET

La prima cosa da fare per provare se funziona la posta di un dominio è identificare il mail server, la cosa è facile facile, basta dare il comando:

nslookup -query=mx example.com

ad esempio

nslookup -query=mx folstuff.eu

la risposta sarà qualcosa del tipo:

Server: 127.0.0.53
Address: 127.0.0.53#53

Non-authoritative answer:
folstuff.eu mail exchanger = 5 ALT1.ASPMX.L.GOOGLE.COM.
folstuff.eu mail exchanger = 10 ASPMX2.GOOGLEMAIL.COM.
folstuff.eu mail exchanger = 1 ASPMX.L.GOOGLE.COM.
folstuff.eu mail exchanger = 10 ASPMX3.GOOGLEMAIL.COM.
folstuff.eu mail exchanger = 5 ALT2.ASPMX.L.GOOGLE.COM.

Authoritative answers can be found from:
ALT1.ASPMX.L.GOOGLE.COM internet address = 142.251.9.27
ALT1.ASPMX.L.GOOGLE.COM has AAAA address 2a00:1450:4025:c03::1b
ASPMX.L.GOOGLE.COM internet address = 142.250.27.27
ASPMX.L.GOOGLE.COM has AAAA address 2a00:1450:4025:401::1b
ALT2.ASPMX.L.GOOGLE.COM internet address = 142.250.150.27
ALT2.ASPMX.L.GOOGLE.COM has AAAA address 2a00:1450:4010:c1c::1b

Il numero dopo “exchanger = 1” indica la priorità dei server da contattare per spedire la posta al dominio interrogato 1 è il primo server che viene interpellato

A questo punto dobbiamo collegarci alla porta 25 del server selezionato tramite telnet o analogo programma (ad esempio putty)

N.B.

Il server di cui nell’esempio precedente non è indicato perché richiede una connessione SSL o TLS rispettivamente sulla porta 465 o 587 ed inoltre pretende l’autenticazione con utente e password.
Google mette a disposizione per questi scopi altri server ad esempio: smtp-relay.gmail.com però tenete presente che ci sono delle limitazioni, per approfondire leggete l’articolo: https://support.google.com/a/answer/176600?hl=it

Cominciamo quindi il test digitando:

telnet smtp-relay.gmail.com smtp

La risposta sarà qualcosa del tipo:

Trying 142.250.27.28…
Connected to smtp-relay.gmail.com.
Escape character is '^]'.
220 smtp-relay.gmail.com ESMTP cp44-20020a056000402c00b00346b96fdb8esm67042wrb.73 - gsmtp

A questo punto ci presentiamo al server dichiarando il nostro nome (il nostro FQDNS) con:

HELO folcreator.folstuff.eu

il server ci risponderà con:

250 smtp-relay.gmail.com at your service

Indichiamo chi sta spedendo la mail:

MAIL FROM: <fol@folstuff.eu>

Ci aspettiamo una risposta del tipo:

250 Sender <fol@folstuff.eu> Ok

A questo punto indichiamo il destinatario con:

RCPT to: recipient@example.com

La risposta assomiglierà a:

250 Recipient recipient@example.com Ok

Ora dobbiamo indicare al server che vogliamo digitare i dati da inviare con:

DATA

Il server ci risponderà più o meno così:

354 Ok Send data ending with <CRLF>.<CRLF>

Ci avvisa che è pronto a ricevere i dati da spedire e ,per indicare che l’immisione è conclusa, dovremo digitare un invio seguito da un punto e da un altro invio.
Per cui digitiamo qualcosa del tipo:

Prova messaggio

A cui facciamo seguire un invio poi digitiamo:

.

A cui facciamo seguire un altro invio e il server ci indicherà qualcosa tipo:

250 Message received: 20040120203404.CCCC18555.mx1.localhost@folcreator.folstuff.eu

possiamo quindi chiudere la sessione con:

QUIT 

Se il server richiede l’autenticazione bisogna procedere come i seguito spiegato:

Per prima cosa dobbiamo procurarci un tool per la codifica/decodifica di dati codificati tramite base64.

Si può usare un tool onine (ce ne sono diversi rintracciabile con una breve query su google) oppure un utility perl, ad esempio:

 perl -MMIME::Base64 -e 'print encode_base64("username");'
perl -MMIME::Base64 -e 'print encode_base64("password");'

il processo è analogo a quanto visto in precedenza solo che dopo aver dato il comando HELO bisogna autnticarsi con:

AUTH LOGIN

A questo punto incolleremo la stringa restituita dal primo comando perl (il nome utente) che abbiamo dato precedentemente e premeremo invio

Poi incolleremo la stringa del secondo comando perl (la password) e premeremo invio

Se abbiamo fatto tutto correttamente il server risponderà con:

235 Authentication succeeded

Eda qui inpoi procederemo come nell’esempio precedente

Prova

Giusto per vedere la facilità con cui fare una nuova pagina

Windows la barra delle applicazioni si blocca

Se avete problemi con la task bar di windows (nel mio caso Windows 2022 in RDS) oppure con explorer.exe che usa circa il 10% della CPUper ogni utente che si collega potete verificare quanto segue per vedere se risolve il vostro problema:

  1. Esportare il ramo del registry:
    HKLM\SYSTEM\Software\Microsoft\TIP\TestResults\27641370 e verificate la dimensione del file creato se supera i 40mb avete una conferma che siete sulla buona strada per risolvere l’enigma e potete proseguire con le altre istruzioni di seguito specificate
  2. Cancellate il ramo del registry appena esportato
  3. Disabilitate il servizio TabletInputService service (Touch Keyboard and Handwriting Panel Service) tramite il relativo mmc plugin oppure con il comando:
    sc config "TabletInputService" start= disabled
    e poi fermatelo con il comando:
    sc stop "TabletInputService"
    Se non riuscite a bloccare il servizio riavviate la macchina
  4. Se volete essere sicuri che il servizio non possa essere riabilitato potete rinominare i seguenti file eseguibili (facendo prima il takeownership):
    C:\Program Files (x86)\Common Files\Microsoft Shared\ink\TabTip32.exe
    C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe
    aggiungendo, ad esempio, il suffisso .org

Come correggere la data di cambio della batteria sugli UPS della APC muniti di scheda di rete ma senza opzioni a proposito sull’interfaccia WEB

In alcuni casi, l’interfaccia web della scheda di rete di gestione degli UPS APC visualizza la data di cambio della batteria ma non permette di modificarla.

Leggi tutto “Come correggere la data di cambio della batteria sugli UPS della APC muniti di scheda di rete ma senza opzioni a proposito sull’interfaccia WEB”

Linux: Come calcolare lo spazio occupato da file e directory

logo ubuntu

Vi siete mai chiesti come sapere lo spazio occupato da una directory ?

La risposta è il comando du la sintassi è la seguente:

du [OPTION]... [FILE]...
du [OPTION]... --files0-from=F

Per visualizzare la dimensione di una directory specifica usate la sintassi:

du /tmp

Il risultato dovrebbe essere (versione permettendo) simile a questo:

9	/tmp/.font-unix
27	/tmp/snap-private-tmp/snap.snap-store/tmp/.snap/snap/snap-store
36	/tmp/snap-private-tmp/snap.snap-store/tmp/.snap/snap
9	/tmp/snap-private-tmp/snap.snap-store/tmp/.snap/var
9	/tmp/snap-private-tmp/snap.snap-store/tmp/.snap/usr/lib
18	/tmp/snap-private-tmp/snap.snap-store/tmp/.snap/usr
72	/tmp/snap-private-tmp/snap.snap-store/tmp/.snap
9	/tmp/snap-private-tmp/snap.snap-store/tmp/.X11-unix
90	/tmp/snap-private-tmp/snap.snap-store/tmp
99	/tmp/snap-private-tmp/snap.snap-store
... (omissis)
521	/tmp

Come potete notare il numero con cui si esprime lo spazio occupato non ci è molto familiare, semplificando sono il numero dei blocchi occupati dal file, la cosa è un po’ più complessa ma trattarla ora farebbe confusione.

Quello che c’è da sapere è che se vogliamo vedere la dimensione del file espresse nelle più comuni unità di misura (kb, mb, gb) tutto quello che dobbiamo fare è specificare, sulla linea di comando, il parametro -h:

du -h /tmp

Vedremo quindi qualcosa del tipo:

9,0K	/tmp/.font-unix
27K	/tmp/snap-private-tmp/snap.snap-store/tmp/.snap/snap/snap-store
36K	/tmp/snap-private-tmp/snap.snap-store/tmp/.snap/snap
9,0K	/tmp/snap-private-tmp/snap.snap-store/tmp/.snap/var
9,0K	/tmp/snap-private-tmp/snap.snap-store/tmp/.snap/usr/lib
18K	/tmp/snap-private-tmp/snap.snap-store/tmp/.snap/usr
72K	/tmp/snap-private-tmp/snap.snap-store/tmp/.snap
9,0K	/tmp/snap-private-tmp/snap.snap-store/tmp/.X11-unix
90K	/tmp/snap-private-tmp/snap.snap-store/tmp
99K	/tmp/snap-private-tmp/snap.snap-store
... (omissis)
521K	/tmp

Se si vuole forzare un’unica unità di misura basta usare: -k per kilobytes, -m per megabytes.

du -k /tmp
du -m /tmp

Per vedere quale directory usa più spazio potresti usare il comando:

du -h --max-depth=1 | sort -hr

La sottodirectory più grande viene visualizata per prima, puoi incrementare la profondità delle directory da considerre con l’opzione: –max-depth parameter.

Il comando du visualizza solo directory e sottodirectory, se volte visualizzare anche i file allora dovete usare il parametro: -a.

du -ah /tmp

Si può inoltre specificare una o più directory a cui si vuole limitare l’analisi:

du -h dir1 dir2

Se vi piace andare subito al sodo potete visualizzare solo il totale con l’opzione: -s.

du -sh /tmp

Avrete in output una sola linea:

521K	/tmp

Ovviamente se, come detto poco fa’, specificate più di una directory sulla linea di comando avrete poi una riga per ogni totale calcolato.

Se volete, alla fine dell’elaborazione, un gran totale basta aggiungere il parametro:-c

du -csh /tmp

Si possono anche escludere dei file tramite una maschera:

du -ch --exclude='*.jpg' | grep total 

il “grep total” server a visualizzare solo le righe di totali

Come sempre potete richiamare l’help completo del comando con:

man du

Ci vediamo alla prossima

Andrea