Documentazione di MevvMail

Consegni l’email, poi sia in grado di dimostrarlo.

MevvMail prende in carico wp_mail(), invia attraverso le connessioni che configura Lei, riprova ciò che fallisce e registra ogni tentativo in una tabella del Suo stesso database. Questa guida copre l’installazione, la schermata di connessione campo per campo, l’ordine in cui viene percorsa la catena, il registro, il riquadro ordine di WooCommerce, le schermate Pro e cosa controllare quando un messaggio non arriva.

Che cosa fa

WordPress consegna ogni email alla funzione mail() del server stesso, che non è autenticata. Le caselle di posta trattano quella posta come sospetta e, quando viene rifiutata, non lo si dice a nessuno: wp_mail() restituisce false, la pagina prosegue, e la reimpostazione della password o la conferma d’ordine semplicemente sparisce.

MevvMail sostituisce quel percorso. Invia tramite una connessione autenticata che configura Lei, percorre un elenco di connessioni in ordine di priorità finché una accetta il messaggio, riprova quelle che falliscono e mostra lo stato di consegna di un ordine WooCommerce direttamente nella schermata dell’ordine.

Lo usi quando
Il Suo negozio invia email di ordine, di account o di fattura e Lei deve poter rispondere a “è partita?” con un registro anziché con un’ipotesi.
Non cambia nulla finché non lo configura
Senza alcuna connessione definita il filtro restituisce l’invio direttamente a WordPress. Attivare il plugin non prende mai in carico silenziosamente un percorso di posta funzionante.
Non è un servizio di invio
MevvMail non rivende consegna e non ha una quota propria. Il server SMTP o l’account presso il fornitore li porta Lei, e il plugin li usa.

Requisiti: WordPress 6.0 o successivo e PHP 8.1 o successivo. WooCommerce è facoltativo — senza di esso tutto funziona allo stesso modo e manca soltanto il riquadro ordine.

Installazione

  1. Installi il plugin gratuito MevvMail: carichi lo zip da Plugin → Aggiungi nuovo, oppure copi la cartella mevvmail in /wp-content/plugins/.
  2. Lo attivi. Per ora non viene preso in carico nulla.
  3. Apra MevvMail → Connessioni e aggiunga la Sua prima connessione.
  4. Prema Invia email di prova e verifichi che il messaggio arrivi.
  5. Facoltativo ma consigliato: aggiunga una seconda connessione con una priorità più bassa come riserva.
  6. Solo se desidera le superfici Pro: installi MevvMail Pro come secondo plugin e attivi la Sua licenza MEVM in MevvMail → Licenza.

Tenga attivo il plugin gratuito quando Pro è installato. La consegna, il failover e il registro vivono nel plugin gratuito, così una licenza scaduta non impedisce mai al Suo negozio di inviare email.

Connessioni

Una connessione è una via d’uscita dal Suo sito. Sono disponibili dieci tipi e ognuno di essi è nel plugin gratuito, senza funzioni trattenute e senza alcun limite di invio imposto da noi.

SMTPPHP mail()BrevoSendGridMailgunPostmarkSparkPostElastic EmailSMTP2GOResend

I campi della schermata

Nome
L’etichetta che dà Lei alla connessione. È ciò che il registro mostra nella colonna Connessione, quindi le dia un nome che riconoscerà alle tre del mattino.
Fornitore
Scelga il tipo. Il resto del modulo cambia di conseguenza: SMTP chiede host, porta, cifratura e credenziali, mentre un fornitore API chiede una chiave e, per Mailgun e SparkPost, una regione.
Priorità
Un numero. La catena viene percorsa a partire dalla priorità più bassa, quindi la Sua connessione principale riceve il numero più piccolo e la riserva uno più grande.
Nome mittente e indirizzo mittente
Il mittente con cui il messaggio esce. Usi un indirizzo su un dominio i cui record SPF, DKIM e DMARC puntano al fornitore tramite cui sta inviando, altrimenti la casella di posta continuerà a guardare con sospetto anche una posta consegnata alla perfezione.
Forza questo mittente su ogni email
Disattivato per impostazione predefinita. Quando è attivo, questa connessione sovrascrive qualunque mittente il messaggio portasse con sé. Utile quando un plugin invia da un indirizzo che il Suo fornitore non autorizza; dannoso se conta davvero su mittenti diversi per ogni plugin.
Attiva
Una connessione non attiva viene saltata dalla catena e resta sulla schermata. È così che mette un fornitore fuori servizio senza perderne le impostazioni.

I valori segreti salvati non vengono mai ristampati nel modulo. I campi della password e della chiave API mostrano “Salvato — lasci vuoto per conservarlo”: scriva un valore solo quando lo sta sostituendo.

Lo provi prima di fidarsi

Invia email di prova invia un messaggio reale attraverso quella sola connessione e scrive l’esito nel registro come qualsiasi altro invio. Se fallisce, il registro riporta la risposta del fornitore stesso — che è quasi sempre la frase che Le dice cosa non va.

La catena, e cosa succede quando fallisce

Quando WordPress produce un’email, MevvMail percorre le Sue connessioni in ordine di priorità e si ferma alla prima che accetta il messaggio. Un fornitore che limita la frequenza, ha esaurito la quota o è fuori servizio Le costa un tentativo, non l’email. L’intero percorso viene registrato come una sola voce del registro, non una per connessione: una singola email non deve leggersi come tre fallimenti separati.

Quando tutte le connessioni hanno rifiutato, la voce viene registrata come fallita e messa in coda per un nuovo tentativo. Viene riprovata altre tre volte — dopo un minuto, cinque minuti e trenta minuti — e poi si ferma. Un indirizzo che non esiste non inizierà a esistere al quarantesimo tentativo.

I nuovi tentativi sono pianificati con WP-Cron, che gira solo quando qualcuno visita il sito. Su un sito poco frequentato un tentativo può avvenire più tardi del minuto per cui era stato pianificato. Se la cosa conta, passi a un vero cron di sistema nel modo consueto — DISABLE_WP_CRON in wp-config.php più una chiamata a wp-cron.php dal crontab. In MevvMail non serve cambiare nulla per questo.

Una catena che vale la pena avere

  • Due connessioni presso due fornitori diversi La proteggono dalla giornata storta di un fornitore. Due connessioni presso lo stesso fornitore no.
  • Tenga una connessione SMTP nella catena, altrimenti le email con allegati non hanno dove andare (veda più avanti).
  • PHP mail() è un ragionevole ultimo ricorso ma una pessima prima scelta: è il percorso non autenticato che il plugin esiste per sostituire.

Il registro delle email

Ogni tentativo viene registrato in una tabella del Suo stesso database. Nulla della Sua email viene inviato a noi — nel plugin non c’è telemetria, né statistiche, né scansione dei contenuti da nessuna parte.

Cosa viene registrato
Ora, destinatari, oggetto, stato, la connessione che se n’è occupata, la parte del sito che l’ha prodotta, la risposta del fornitore stesso e il numero di tentativi.
Filtri
Per stato (inviata, fallita, in attesa), per origine e per data. I tre insieme sono di solito l’intera indagine di assistenza.
Origine
Un messaggio può portare un’etichetta che indica quale plugin lo ha prodotto — un modulo, un’email di recupero, una notifica di WooCommerce. L’etichetta viene registrata in una colonna dedicata e tolta dal messaggio prima che esca, così non raggiunge mai la persona che riceve l’email.
Reinvio
Qualsiasi voce può essere inviata di nuovo dall’elenco. Rientra nella catena dall’inizio, quindi viene usata una connessione che nel frattempo è stata riparata.
Conserva il corpo dell’email
Attivo per impostazione predefinita. Se lo disattiva, il registro conserva solo le intestazioni. Una voce del genere può poi essere esaminata ma non reinviata — e nemmeno un invio che fallisce viene messo in coda per la scala dei tentativi, perché in entrambi i casi non è stato conservato nulla da inviare.
Conserva le voci del registro per
7, 30, 90 giorni o per sempre. Le voci più vecchie vengono rimosse in modo pianificato.

Il registro può contenere dati personali — indirizzi, oggetti e, se lascia attiva l’impostazione, i corpi dei messaggi. Prima di andare in produzione, esamini l’impostazione di conservazione e l’opzione sul corpo alla luce dei Suoi obblighi, come farebbe con qualsiasi altro documento del negozio.

Disinstallazione

Eliminare il plugin lascia intatti il registro e le impostazioni. Nella schermata Impostazioni c’è una sola casella da attivare — Elimina anche la tabella del registro e tutte le impostazioni quando il plugin viene eliminato — ed è disattivata per impostazione predefinita, perché la lettura distruttiva di “disinstalla” non dovrebbe mai essere quella che Le capita per sbaglio.

Allegati

Nella versione 1.0.0 gli allegati viaggiano solo via SMTP. Gli otto fornitori API non li inviano, e questo è un limite deliberato più che un difetto: ognuna di quelle API vuole il file in una forma diversa, e pubblicare otto codificatori collaudati a metà non ne valeva la pena.

  • Un’email che porta un file salta in modo permanente le connessioni API e cerca nella catena una connessione SMTP.
  • Con una connessione SMTP configurata, fatture, biglietti e PDF escono normalmente.
  • Senza alcuna connessione SMTP configurata, un’email del genere viene registrata come fallita anziché consegnata senza il suo file — una consegna silenziosa senza la fattura sarebbe peggio di un fallimento visibile.

La regola pratica è lunga una riga: tenga una connessione SMTP nella catena, qualunque altra cosa ci sia.

Ordini WooCommerce

Con WooCommerce attivo, ogni schermata d’ordine riceve un riquadro che elenca le email prodotte da quell’ordine e lo stato di consegna di ciascuna. Alla domanda “il cliente ha ricevuto la conferma?” si risponde sull’ordine invece che cercando in un registro.

Il registro annota anche quale email di WooCommerce fosse un messaggio, così un nuovo tentativo che avviene mezz’ora dopo sa ancora cosa sta inviando — e, con una licenza Pro, quale regola di instradamento e quale oggetto gli si applicano.

MevvMail funziona esattamente allo stesso modo su un sito senza WooCommerce. Semplicemente non c’è il riquadro ordine.

Cosa aggiunge una licenza Pro

Tutto quanto sopra è nel plugin gratuito: dieci tipi di connessione, la catena di failover, la scala dei tentativi, il registro, il reinvio e il riquadro ordine di WooCommerce. Pro è un plugin separato che aggiunge profondità WooCommerce sopra la consegna.

Designer delle email di WooCommerce
Un logo, un colore di base, un colore di sfondo, il testo del piè di pagina e un oggetto per ogni tipo di email, con l’anteprima del design salvato. Il design è applicato dal plugin gratuito, quindi sopravvive allo spegnimento della licenza.
Tracciamento delle aperture
Un pixel 1×1 facoltativo servito dal Suo stesso sito, registrato come una singola marca temporale nella colonna Aperta del registro. Disattivato per impostazione predefinita. Non vengono raccolti indirizzo IP, client di posta, referrer, posizione, dispositivo o numero di aperture, e da nessuna parte viene mostrato un tasso di apertura.
Avvisi di errore
Un’email o un webhook per ogni interruzione, dopo un numero di fallimenti consecutivi scelto da Lei. L’avviso esce dal percorso di posta del server stesso — così può raggiungerLa anche quando ciò che è rotto sono le Sue connessioni — e non porta con sé destinatario, oggetto o corpo del messaggio fallito.
Instradamento condizionale
Regole sull’etichetta di origine o sul tipo di email WooCommerce spostano una connessione in testa alla catena. La catena non viene mai ristretta, quindi il failover continua a funzionare, e la regola corrisponde anche in un nuovo tentativo differito.

La licenza si attiva in MevvMail → Licenza con una chiave che comincia con MEVM. Se scade, si fermano il designer, il tracciamento, gli avvisi e l’instradamento; la consegna, il failover e il registro proseguono, perché non sono mai stati cose che Pro potesse trattenere.

Il tracciamento delle aperture è un indizio, non una misura. Una casella di posta che blocca le immagini o un proxy che le mette in cache rende il pixel muto o precoce. Per questo viene conservata solo la prima apertura, e per questo il prodotto non mostra alcun tasso di apertura.

Cosa esce dal Suo server

Due cose, ed entrambe sono elencate qui.

  1. La Sua email, al fornitore che ha configurato. Mittente, destinatari, oggetto, corpo, eventuali Reply-To e intestazioni personalizzate, e la Sua chiave API perché il fornitore possa autenticarLa. MevvMail non aggiunge nulla — nessun indirizzo del sito, nessun dato utente, nessun identificatore nostro — e nulla viene inviato ad alcun fornitore finché non crea una connessione di quel tipo.
  2. Un controllo di aggiornamento. Due valori, lo slug del plugin e il numero di versione installata, inviati a https://mevvsoft.com/api/v1/license/free-update quando WordPress esegue il proprio controllo degli aggiornamenti e la risposta in cache è più vecchia di dodici ore. Nessun indirizzo del sito, nessun indirizzo email, nessuna chiave di licenza, nessun elenco di plugin, nessuna statistica d’uso. La risposta è firmata e una risposta non firmata viene scartata. La copia distribuita tramite la Directory dei plugin di WordPress non contiene affatto il file dell’updater.

L’editore non riceve da questo plugin alcun contenuto di email, alcun indirizzo di destinatario, alcuna voce di registro né alcuna statistica. Il registro è una tabella del Suo stesso database, e decide Lei per quanto tempo viene conservato e se conservare del tutto i corpi dei messaggi.

Risoluzione dei problemi

Il registro dice inviata, ma non è arrivata
“Inviata” significa che la connessione ha accettato il messaggio, non che la casella di posta lo ha messo nella posta in arrivo. Controlli la posta indesiderata, poi verifichi che l’indirizzo mittente sia su un dominio i cui record SPF, DKIM e DMARC autorizzano il fornitore tramite cui sta inviando. Gran parte della posta che sparisce a questo stadio è un problema di autenticazione, non di consegna.
Tutto fallisce sulla prima connessione
Apra la voce e legga la risposta del fornitore stesso: è conservata insieme al tentativo. Porta sbagliata e cifratura sbagliata, una chiave scaduta e un mittente che il fornitore non autorizza spiegano la maggior parte dei casi.
Un’email con un allegato è fallita
Verifichi se la Sua catena contiene una connessione SMTP. Senza di essa, un’email che porta un file viene registrata come fallita di proposito.
I nuovi tentativi non avvengono mai
Due cause. WP-Cron gira solo quando qualcuno visita il sito, quindi su un sito poco frequentato il nuovo tentativo aspetta il traffico — oppure passi a un vero cron di sistema. L’altra è “Conserva il corpo dell’email”: se è disattivato non c’è nulla con cui riprovare, e la voce fallita viene lasciata stare di proposito.
Il pulsante Reinvia non ha fatto nulla
Quella voce è stata registrata senza il suo corpo, quindi non c’è nulla da inviare. Riattivi “Conserva il corpo dell’email” per le voci che potrebbe voler reinviare.
Le schermate Pro non ci sono
Verifichi che il plugin gratuito sia attivo, che il plugin Pro sia attivo e che la licenza sia attivata. Servono tutti e tre, e la schermata della licenza dice quale non è soddisfatto.

Quando ci scrive, indichi le versioni dei plugin, le versioni di WordPress e PHP, il tipo di connessione e il testo esatto della risposta del fornitore presa dalla voce di registro. Prima rimuova gli indirizzi dei clienti e il corpo del messaggio; la risposta da sola è quasi sempre sufficiente.