Inviare messaggi di posta elettronica tramite codice non è una cosa complessa. Lo si può fare con
poche righe di codice con qualsiasi linguaggio di programmazione. Ormai ogni applicazione web che si rispetti prevede tra le sue funzionalità l'invio di
e-mail: per segnalare un articolo a un amico, per chiedere conferma della registrazione al sito, per avvisare del verificarsi di un determinato evento e così via.
Inviare un'e-mail non vuol dire necessariamente che essa arrivi a
destinazione, lo sa bene chi amministra un server di posta elettronica: per difendere le nostre mailbox dallo
spam sono attive diverse misure di sicurezza che potrebbero respingere l'e-mail inviata dalla nostra applicazione. Sebbene questo sembrerebbe un argomento che riguardi più gli amministratori di server di posta, in realtà è bene che anche gli sviluppatori abbiano un'idea dei meccanismi, che stanno dietro alle misure antispam in modo da evitare errori nell'invio di e-mail dalla propria applicazione e avere qualche garanzia in più sulla sua avvenuta consegna.
In un suo recente
articolo,
Doug Rathbone spiega nel dettaglio quali sono le
misure comunemente più utilizzate per proteggere un server di posta dallo spam e quale impatto esse hanno sull'e-mail inviata da un'applicazione; qualcosa di analogo aveva
scritto qualche tempo fa anche
Jeff Atwood: entrambi concordano che una
corretta configurazione del server di posta e soprattutto del server DNS siano un requisito essenziale per il successo della consegna effettiva di un'e-mail.
Capire cosa sia un
reverse PTR record, un
record SPF o un
SenderID e soprattutto sapere come verificare la loro corretta impostazione è fondamentale per l'amministratore di un server di posta, ma può essere utile anche allo sviluppatore per evitare di ammattire cercando di capire come mai un messaggio non arriva a destinazione. Tra l'altro, tutto questo rappresenta anche una buona base per una corretta
comunicazione con chi si occupa dell'amministrazione del server di posta.
In sintesi, per aumentare le probabilità di successo nell'invio di un messaggio occorre seguire alcune
semplici regole: non inviare mai un messaggio con un mittente di un dominio che non è sotto il nostro controllo, assicurarsi che il server DNS e il server SMTP siano correttamente configurati, verificare che il server SMTP non si trovi su una blacklist.