In molti casi può essere utile testare manualmente l’invio di una mail verso un server SMTP per attività di verifica e manutenzione.
Il test SMTP più semplice è quello di effettuare l’invio della mail via telnet.
In questi casi, infatti, è molto utile sostituirsi al client di posta preferito e scrivere la mail “passo passo” per verificare tutti i passaggi.
Requisiti
Alcune cose che devi sapere prima di iniziare:
- Se utilizzi un computer con Sistema Operativo Windows 7 o superiore, il comando TELNET non è presente di default, ma va installato come componente di Windows aggiuntivo;
- Se utilizzi un MacOS puoi integrare il comando Telnet con Homebrew
- Quando stai digitando i comandi di invio mail non puoi effettuare cancellazioni: in caso di errori di battitura, anche se cancelli e riscrivi correttamente, il server ti risponderà sempre con un messaggio di comando sconosciuto.
Inviare una mail via telnet
Ecco come puoi inviare la mail via Telnet in 7 semplici passaggi:
- Apri un prompt dei comandi: vai su Start — > Esegui (oppure premi Tasto Windows + R), digita CMD e premi invio;
- Collegati al Server: digita il comando “telnet mail.server.com 25” dove “mail.server.com” è il nome (o l’indirizzo IP) del server SMTP che vuoi testare (come ad esempio mail.vignali.it) e 25 è il numero della porta utilizzata dal servizio SMTP (25 è la porta standard, qualora il server utilizzi una porta differente utilizza il numero di porta corrispondente);
- Saluta il Server: digita il comando HELO per aprire la comunicazione.
- digita il comando “HELO” (o “EHLO”) e premi invio
- dopo il comando “HELO” puoi aggiungere il nome di un server (anche fittizio)
- il server dovrebbe risponderti con un messaggio simile a: “250 mail.server.com Hello, anonymous identity received”
- digita il comando “HELO” (o “EHLO”) e premi invio
- Inserisci l’indirizzo del mittente: inserisci l’indirizzo del mittente, come segue:
- MAIL FROM: mittente@dominiomittente.com
- il server dovrebbe risponderti “250 mittente@dominiomittente.com Sender OK”.”
- Inserisci l’indirizzo del destinatario: inserisci l’indirizzo del destinatario, come segue:
- RCPT TO: destinatario@dominiodestinatario.com
- il server dovrebbe risponderti “250 destinatario@dominiodestinatario.com Recipient OK”.”
- Componi il tuo messaggio: inserisci il tuo messaggio, come segue:
- digita il comando “DATA” seguito da invio
- il server ti risponderà che puoi digitare il tuo messaggio, chiudendo con “.” nell’ultima riga
- inserire l’oggetto della mail digitando: “SUBJECT: [testo dell’oggetto]” e premendo invio due volte
- eventuali altri campi che puoi utilizzare in questa sezione sono “FROM:”, “DATE:” e “TO:”
- digitare il testo della mail che vuoi inviare e dai invio
- digita “.” ed invio per inviare
- riceverai un messaggio di conferma simile a “Message accepted for delivery.”
- Esci da Telnet: digita “QUIT” e premi invio
Effettuare un invio mail via telnet con SMTP autenticato
La procedura sopra descritta è leggermente differente qualora il server SMTP richieda un’autenticazione.
In questo caso, dopo aver effettuato i primi 3 punti della lista sopra descritta, dovrai effettuare la procedura di autenticazione:
- Digita il comando “AUTH LOGIN” e premi invio
- Il server ti risponderà “
334 VXNlcm5hbWU6
“, questa è la richiesta da parte del server del tuoi username codificata in Base64. - Inserisci il tuo nome utente codificato in Base64 (puoi convertirlo usando questo tool online)
- Il server ti risponderà “334 UGFzc3dvcmQ6” che è la richiesta di password codificata in Base64.
- Inserisci la tua password codificata in Base64
- Il server risponderà “235 Authentication successful”
A questo punto sarai autenticato sul server SMTP e potrai procedere con l’invio, ripartendo dal punto 4 della lista precedente.
Simulare un invio di spoofing
In alcuni casi può essere utile ai fini dei test impersonare un altro mittente inviando una mail di spoofing.
Per quanto la tecnica di email spoofing sia molto usata per fini malevoli, è comunque prevista dal protocollo SMTP. Essa è spesso utilizzata anche per fini professionali, ad es. quando si usano servizi di terze parti per l’invio di mail a nome del tuo dominio di posta.
Per simulare l’invio con un indirizzo diverso da quello effettivo bisogna sfruttare il campo FROM: (punto 5 della lista sopra).
Il campo “FROM:” dovrà essere valorizzato con l’indirizzo della mail che vuoi impersonare, mentre il campo “MAIL FROM:” sarà valorizzata con l’indirizzo email del mittente effettivo.
ESEMPIO
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | HELO mittentereale.com 250 Hello, nice to meet you MAIL FROM: esempio@mittentereale.com 250 esempio@mittentereale.com Sender OK RCPT TO: esempio@destinatatio.com 250 esempio@destinatatio.com Recipient OK DATA 354 Risposta del server FROM: esempio@mittentesimulato.com SUBJECT: oggetto della mail Corpo della mail . |
Riferimenti utili
- How to send an SMTP email with Sendgrid
- Come installare Telnet su Windows
- Come installare Telnet su MacOS
- Come verificare se il mail server risponde sulla porta 25
- RFC 531 Simple Mail Transfer Protocol
More than 15 years as an IT Consultant, spanning a variety of leadership roles from Project Manager to Team Lead.
He’s overseen multiple projects for clients in the Banking, eCommerce, Logistics and Transportation sectors in Italy and Europe.
Quick learner, good communication and negotiation skills. Father and pet lover.