04 Mar 2015

La lunga strada dell'Email verso l'Inbox

La strada che una email percorre dal momento in cui viene inviata a quello in cui viene letta dal destinatario è piena di ostacoli: i filtri antispam, al contrario di quello che si potrebbe pensare, possono essere molteplici, ed  anche essere gestiti da chi spedisce il messaggio per vostro conto.

Proviamo ad analizzare i passaggi effettuati quando spediamo il messaggio tramite webmail o tramite MSA (mail-submission-agent, ovvero il mail server del nostro provider o comunque il server SMTP che usiamo per l’invio):

  1. FILTRI IN SPEDIZIONE - Chi spedisce la nostra email verifica chi siamo, quanti messaggi abbiamo inviato nelle ore/giorni precedenti, il contenuto dell’email e i destinatari. A questo punto potrebbe già decidere di bloccare la nostra email senza nemmeno provare a recapitarla: quasi tutti i provider di caselle gratuite o lowcost operano questo tipo di filtro in uscita.

  2. NOLISTING - Se il nostro mail server decide di provare a consegnare l’email, tenterà di contattare il mail server (o uno dei mail server) del dominio di destinazione.
    In questa fase di connessione il sistema potrebbe cadere in trappole Antispam come, ad esempio, il “nolisting” (il dominio destinatario dichiara come suo mail server principale un server inesistente e solamente il secondario è il suo reale server ricevente) o altre tecniche similari (fake mx , mx sandwich).

  3. BLACKLISTING - Superato l’eventuale nolisting e trovato il server ricevente “giusto”, il sistema si troverà di fronte a vari “controlli”: prima di accettare la connessione, il ricevente vorrà verificare che l’IP mittente non sia in blacklisting (blacklist pubbliche o private).

  4. REPUTAZIONE - Accettata la connessione aspetterà che il mittente si “presenti” e a quel punto potrà fare nuove verifiche legate all’indirizzo email “mittente della busta” (envelope sender) e IP mittente (protocolli SPF e DMARC), sulla validità del dominio del mittente, sulla reputazione di tale dominio ed eventualmente chiudere la connessione se non li ritiene validi.

  5. GREYLISTING - Passata la verifica del mittente viene fornito al server l’indirizzo email del destinatario. In questa fase normalmente il ricevente verifica l’esistenza della casella e nel caso non esistesse penalizza la reputazione del mittente. Se la casella esiste potrebbe scattare un altro filtro antispam, chiamato “Greylisting”, che consiste nel rifiutare il primo tentativo di invio di una email da uno specifico mittente ad uno specifico destinatario.
    Visto che gli spammer devono minimizzare i costi, spesso non si preoccupano di gestire i secondi tentativi di invio nel caso il primo non funzionasse, quindi il greylisting, in maniera similare al nolisting, fa in modo che il messaggio non venga consegnato.

  6. FILTRI SU CONTENUTO - Il server mittente che capisce di aver fallito la consegna per colpa del greylisting rimetterà il messaggio in coda di spedizione per un invio successivo (di solito 5-10 minuti dopo). Il nuovo tentativo ripeterà i passi da 1 a 5 e questa volta supererà la barriera del greylisting; potrà così passare alla comunicazione del contenuto del messaggio vero e proprio. Alcuni filtri effettuano un controllo Antispam sul contenuto (reputazione dei link, verifica DKIM, parole chiave) appena lo ricevono e potrebbero quindi terminare la connessione rifiutando il messaggio istantaneamente. Altri, dopo averlo classificato come spam, decidono di rispondere “OK! Ho ricevuto il tuo spam, il messaggio verrà cestinato”: non essendo un avvertimento di errore, un mittente non attento potrebbe limitarsi alla validità dell’OK e considerare il messaggio consegnato, mentre il ricevente ha già detto di averlo cestinato.

  7. BOUNCE - Pur avendo terminato la connessione con successo, potremmo incappare nell’azione censoria di altri filtri antispam (filtri Bayesiani e altri filtri computazionalmente più onerosi) che, classificando l’email come spam, possono decidere di rifiutarla. Non potendo più comunicare in tempo reale l’avvenuta classificazione, creano un nuovo messaggio (bounce) da recapitare al mittente nel quale gli verrà detto che la mail è stata bloccata.

  8. MESSAGGIO SOSPETTO - Se i filtri applicati fino ad ora hanno lasciato passare il messaggio, allora l’email verrà consegnata nella casella del destinatario, ma potrebbero comunque decidere che il messaggio è sospetto e quindi marcarlo come potenziale spam (mettendolo nella casella SPAM o modificando l’oggetto per indicare che è SPAM).

  9. FILTRI "LOCALI" - Non è ancora finita: nel caso in cui la posta venga letta con un client di posta tramite IMAP o POP3, potrebbe esserci un ulteriore filtro nel computer del destinatario che opera una verifica antispam in fase di scaricamento del messaggio sul computer.

Per superare alcuni di questi ostacoli (ad esempio il 2 e il 3) è sufficiente usare un buon mail server che sappia come si consegna una email, mentre per evitare gli altri sono necessari buoni contenuti e buone reputazioni (di IP, del mittente, dei domini dei siti linkati).
Un aspetto tecnico spesso sottovalutato è la corretta identificazione del momento in cui interviene il blocco per spam: la maggior parte dei server non dice al mittente “questa email è spam” o addirittura “questo è spam perchè xyz”, fornisce spesso errori generici che vanno adeguatamente interpretati e studiati, imparando a conoscere i comportamenti e le abitudini dei singoli server riceventi.
Per questo è fondamentale che dietro al buon server SMTP di invio ci sia anche uno strumento in grado di analizzare, tradurre e classificare i messaggi relativi ai problemi di consegna, sia che avvengano durante la connessione, sia che avvengano tramite invio di “bounce” successivi alla consegna.

Aggiungi un commento

Filtered HTML

  • Indirizzi web o e-mail vengono trasformati in link automaticamente
  • Elementi HTML permessi: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Linee e paragrafi vanno a capo automaticamente.

Plain text

  • Nessun tag HTML consentito.
  • Indirizzi web o e-mail vengono trasformati in link automaticamente
  • Linee e paragrafi vanno a capo automaticamente.