La posta di Odoo non arriva: riconoscere e risolvere le cause
Quando fatture, preventivi o solleciti da Odoo non arrivano, dipende quasi sempre da una di tre cose: il server di posta in uscita non è impostato o è impostato male e i messaggi restano in coda, l'indirizzo mittente non corrisponde al dominio autenticato, oppure il server da cui Odoo invia non ha reputazione. Nella maggior parte dei casi la soluzione è la stessa: collega Odoo a un SMTP relay con un accesso proprio e metti a posto SPF e DKIM per il tuo dominio.
Prima guarda dove si blocca
Odoo non invia i messaggi subito, ma li mette in una coda che un'attività pianificata smaltisce periodicamente. Vai nelle impostazioni tecniche all'elenco dei messaggi in uscita. Lì vedi uno stato per ogni messaggio. Si presentano tre situazioni:
- Il messaggio è su "in uscita" e ci resta. L'attività pianificata non gira, oppure il server di posta rifiuta la connessione. È un problema di configurazione.
- Il messaggio è su "non riuscito" con un errore. Leggi il messaggio: un errore di autenticazione, un indirizzo mittente rifiutato o una connessione che non si stabilisce indicano cause diverse.
- Il messaggio è su "inviato" ma il cliente non ha nulla. Odoo l'ha consegnato; il problema sta nel recapito: spam, rifiuto da parte del destinatario o un bounce che non hai mai visto.
Causa 1: server di posta in uscita assente o sbagliato
Un Odoo installato in proprio non ha un server in uscita predefinito, oppure usa la funzione di posta locale del server su cui gira. Quel server non ha reputazione e di solito nemmeno un DNS inverso corretto, quindi ciò che invia viene guardato con sospetto. Imposta nelle impostazioni tecniche un server di posta in uscita con i dati del tuo relay: nome del server, porta 587 con STARTTLS e l'accesso creato per Odoo. Usa per Odoo un accesso proprio, non lo stesso del tuo e-commerce: così puoi revocarlo senza toccare il resto e vedi nel registro quale applicazione ha inviato che cosa.
Causa 2: l'indirizzo mittente non corrisponde al dominio
Odoo invia volentieri dall'indirizzo del collaboratore che ha compiuto l'azione. Se quel collaboratore lavora con un indirizzo su un dominio diverso da quello per cui hai impostato SPF e DKIM, l'autenticazione fallisce per quel messaggio. Imposta un dominio mittente fisso e, se la tua versione lo supporta, un filtro che stabilisca da quali indirizzi questo server può inviare. I messaggi da altri indirizzi ricevono allora automaticamente un indirizzo del tuo dominio come mittente, con l'indirizzo originale come indirizzo di risposta. Il tuo cliente può comunque rispondere normalmente e l'autenticazione è corretta.
Causa 3: la reputazione del server mittente
Anche con impostazioni corrette, la posta che parte da un server che non ha mai inviato arriva male. Un relay invia da indirizzi con una reputazione costruita ed elabora i rifiuti temporanei riprovando in automatico. È la differenza tra una fattura che arriva comunque un'ora dopo e una fattura che sparisce in silenzio.
Causa 4: bounce che nessuno vede
Odoo può recuperare la posta in entrata ed elaborare i bounce, ma solo se l'indirizzo di risposta è impostato correttamente ed è configurato un server di posta in entrata. In pratica spesso non è così, e allora i bounce spariscono nel nulla. Un relay tiene traccia per ogni messaggio di che cosa è successo e lo mostra in un pannello, anche se Odoo non lo elabora da sé. Come elaborare poi i bounce automaticamente nei tuoi contatti lo leggi sulla pagina sull'e-mail transazionale.
Odoo Online o installato in proprio
Con la versione online è Odoo stesso a occuparsi dell'invio e di solito puoi impostare solo il dominio mittente e i record DNS; segui in quel caso le indicazioni nel tuo ambiente di gestione. Con un'installazione propria, anche presso un hoster, il server in uscita e l'autenticazione sono responsabilità tua. Questo articolo riguarda la seconda situazione.
Provare come lo vede il tuo cliente
Manda da Odoo un preventivo a un indirizzo Gmail e a uno Outlook, e guarda nei dettagli del messaggio presso il destinatario se SPF, DKIM e DMARC sono su "PASS". Controlla poi nel registro del tuo relay se il messaggio risulta consegnato. Non provare sulla tua casella: si fida già del tuo dominio e quindi non dice nulla.
Domande frequenti
Devo modificare qualcosa in Odoo stesso?
Solo il server di posta in uscita e il dominio mittente. Nessun modulo, nessuna modifica al codice.
Posso collegare più database Odoo a un solo relay?
Sì, con un accesso proprio per database, così puoi seguirli e revocarli separatamente.
Perché la posta arriva a me ma non ai clienti?
Il tuo server di posta si fida del tuo dominio o sta sulla stessa infrastruttura. I clienti stanno dietro filtri che l'autenticazione e la reputazione le controllano davvero.