SMTP per Node.js — posta dalla tua applicazione che arriva
Node.js non ha una funzione di posta integrata; praticamente ogni applicazione usa Nodemailer. Quella libreria rende semplice l'invio, ma non dice nulla sulla recapitabilità: quella dipende interamente dal server SMTP attraverso cui invii.
Nodemailer lavora con un transport. Crei un transport SMTP con i dati del tuo relay — host, porta, cifratura e credenziali — e il resto del tuo codice resta invariato. Ciò che oggi parte da un server locale o da un account di prova, domani passa da 2mail.
Perché senza relay le cose vanno storte
Un'applicazione Node.js invia tipicamente posta nel momento in cui conta: un codice di verifica, un recupero password, la conferma di una prenotazione. Sono messaggi attesi entro pochi secondi. Se partono da un server senza reputazione, una parte non arriva o arriva tardi — e l'utente clicca su "invia di nuovo" finché non rinuncia.
Configurare l'SMTP in Node.js
Recupera i dati
Accedi al tuo account 2mail e recupera lì il tuo server SMTP, il nome utente e la password.
Inserisci in Node.js
Crea in Nodemailer un transport SMTP. Indica come host il server SMTP di 2mail e come porta la 587, e disattiva l'opzione secure così che la connessione venga elevata tramite STARTTLS. Sotto auth inserisci nome utente e password del tuo accesso 2mail. Leggi quei dati da variabili d'ambiente, non dal codice. Nodemailer dispone di un metodo verify per controllare la connessione prima di inviare la prima e-mail reale — usalo.
Autentica il dominio
Assicurati che SPF, DKIM e DMARC siano configurati correttamente per il tuo dominio, così i destinatari possono verificare che il messaggio provenga da te.
Prova
Invia un messaggio di prova a un indirizzo presso un grande provider e verifica che arrivi nella posta in arrivo e non nella cartella spam.
I campi richiesti da Node.js
Ogni piattaforma li chiama in modo leggermente diverso, ma si tratta sempre degli stessi cinque. I valori concreti sono legati al tuo account e li trovi nel tuo account 2mail — recuperali da lì, così sei certo di usare quelli giusti.
| Campo | Che cosa inserire |
|---|---|
| Server SMTP (host) | Il nome del server dal tuo account 2mail. |
| Porta | La porta corrispondente alla cifratura scelta; il tuo account indica quale. |
| Cifratura | TLS. Non inviare mai in chiaro — altrimenti le tue credenziali viaggiano leggibili sulla rete. |
| Nome utente | Il login SMTP del tuo account 2mail. |
| Password | La password corrispondente. Non usare mai la password della casella di posta di un collaboratore. |
Quali e-mail invia Node.js
Una volta configurato il relay, tutte queste passano tramite 2mail — non devi configurarle una per una.
Insidie con Node.js
secure e porta devono corrispondere
L'opzione secure non significa "sicuro o non sicuro", ma "TLS dal primo byte". Sulla porta 587 secure deve restare disattivato — STARTTLS arriva subito dopo. Se la attivi comunque, la connessione si blocca o viene interrotta subito, senza un errore chiaro.
Un solo transport, riutilizzato
Crea il transport una volta sola all'avvio e riutilizzalo, invece di crearne uno nuovo per ogni e-mail. In caso di picco — un giro di promemoria, una campagna — apriresti altrimenti centinaia di connessioni insieme, cosa che un relay può leggere come abuso. Nodemailer sa mettere in pool le connessioni; attivalo con volumi maggiori.
Aspetta il risultato e registralo
L'invio è asincrono. Chi non attende la risposta del server o non la registra, non vedrà mai che un messaggio è stato rifiutato. Registra almeno l'id del messaggio e l'eventuale rifiuto, e collega preferibilmente i webhook di 2mail per recapito e bounce, così vedi anche ciò che va storto dopo la consegna.
Un'altra piattaforma?
L'SMTP è un protocollo standard: ogni sistema che parla SMTP — un CRM, un ERP, un'applicazione proprietaria o un server — può inviare tramite 2mail con gli stessi cinque campi.