Postfix non trasferirà le email del modulo di contatto WordPress al mio account Gmail

5

In Ubuntu 16.04 VPS con LEMP in DigitalOcean ho un sito web WordPress che ha un modulo di contatto che ho creato con Modulo di contatto 7 (CF7).

Il mio problema

Ho un problema nel trasferire email dal mio modulo di contatto WordPress (CF7) alla mia email (Gmail).

Devo dire che preferirò umilmente una soluzione non-plugin .

Zona DNS per la mia macchina

  1. A record contenente il dominio.
  2. Cname record contenente una variante www. per il dominio.
  3. Tre NS record per associare le richieste DNS al mio dominio, con il mio IP e l'app pertinente nel suo computer.

Ho provato ad aggiungere MX records, tramite il modo automatico di DigitalOcean di farlo (facendo clic sul pulsante Add Gmail MX records nello strumento di gestione DNS DigitalOcean) e sono stati aggiunti 5% di co_de% record ma avevo ancora lo stesso errore dopo che ho provato immediatamente a inviare una e-mail di prova da WordPress (vedi errore sotto).

Attualmente, la zona DNS non ha record MX perché non sono sicuro che siano necessari anche se tutto ciò che desidero nel contesto delle e-mail è solo per inviare richieste di modulo di contatto WordPress al mio account Gmail e sono ancora nello stesso stato con lo stesso errore.

Errore esatto e tentativi di debug:

Ricevo sempre il seguente messaggio di errore, all'interno di una casella rossa sotto il modulo di contatto:

% Bl0ck_qu0te%

A causa di questo errore, nulla viene inviato ovunque (nemmeno nella cartella Spam).

Cercando di eseguire il debug di questo, ho eseguito il seguente codice per creare un registro per Postfix:

touch /var/log/mail.log
  • Non ci sono errori nei log di Nginx.

Le autorizzazioni sono:

rw-r--r-- 1 root root

Ma non viene scritto nulla in questo log degli errori dopo provo a inviarmi un'email di prova e fallisco.

Riproduzione del mio problema:

  1. Crea un droplet DigitalOcean Ubuntu 16.04.
  2. Crea uno stack LEMP ed esegui un sito Web WordPress su di esso.
  3. % Co_de%.
  4. Scegli la configurazione "sito internet".
  5. Digita il dominio del sito con cui lavori.
  6. Installa il modulo di contatto 7 sul tuo sito WordPress e prova a inviarti un'email di prova.

La mia domanda

Che cosa causa questo problema?

Forse posso provare qualcosa con Postfix o uno strumento alternativo che dovrei usare come sSMTP ? Preferirei uno strumento da minimo a no-conf. Sottolineo che non mando altre email al mio Gmail oltre a quelle che si trovano nel modulo di contatto WordPress, né invio altre email da nessuna parte, da questa macchina.

In passato ho installato Postfix come descritto sopra e non c'erano problemi. Se hai qualche idea su cosa controllare, quali dettagli dovrei fornire, ti preghiamo di comunicarmelo e io modificherò.

Aggiornamento

1) il file MX è tutto predefinito.

2) Output di sudo apt-get update && sudo apt-get upgrade postfix :

5 S root      4611     1  0  80   0 - 16352 ep_pol 07:42 ?        00:00:00 /usr/lib/postfix/sbin/master -w
4 S postfix   4613  4611  0  80   0 - 16881 ep_pol 07:42 ?        00:00:00 qmgr -l -t unix -u
4 S postfix   4930  4611  0  80   0 - 16869 ep_pol 11:02 ?        00:00:00 pickup -l -t unix -u -c
0 S root      5201  5187  0  80   0 -  3236 pipe_w 12:19 pts/0    00:00:00 grep --color=auto postfix
    
posta JohnDoea 09.03.2018 - 16:19

2 risposte

2

Il problema sembra venire da WordPress, in particolare la configurazione del modulo di contatto, poiché il problema si è verificato anche con sSMTP , che alcuni considerano uno strumento più semplice di Postfix:

Quando ho eliminato il modulo originale e ne ho creato uno nuovo, ho ricevuto un messaggio verde che diceva che il messaggio è stato inviato in un messaggio di prova.

Anche qui, non ho ricevuto un messaggio nemmeno nella directory Spam, ma almeno la risposta era diversa e il problema originale non aveva nulla a che fare con Postfix.

    
risposta data JohnDoea 13.03.2018 - 11:29
2

Da Come risolvere il modulo di contatto di wordpress non invio di email con smtp :

Perché WordPress non invia email

WordPress usa la funzione di posta PHP per inviare email generate da WordPress o qualsiasi plugin di contatto come WPForms. Tuttavia, molti server di hosting WordPress non sono configurati per utilizzare la funzione di posta.

Inoltre, al fine di ridurre lo spam, il tuo provider di posta controlla spesso se la tua e-mail proviene dal luogo in cui afferma di provenire. Ad esempio, se il tuo server di posta elettronica è yahoo.com ma la tua email afferma di essere inviata dal dominio del tuo sito web, è probabile che la notifica del modulo venga bloccata prima che raggiunga anche la cartella dello spam.

Ecco perché ti consigliamo di utilizzare SMTP per inviare e-mail da WordPress invece di utilizzare la funzione di posta PHP predefinita.

SMTP (Simple Mail Transfer Protocol) è un modo standard di settore per inviare e-mail che utilizzano il metodo di autenticazione appropriato per garantire la consegna delle e-mail.

Sette modi diversi di domenica

L'intestazione di questa sezione è perché oggi è domenica e l'articolo Come risolvere il modulo di contatto wordpress che non invia email con smtp elenca sette modi diversi per configurare SMTP:

  1. WP Mail SMTP: configurazione SMTP
  2. Gmail o G Suite
  3. SendGrid
  4. Mailgun
  5. Storia postale
  6. WP SES
  7. SparkPost

Impostazione SMTP

Per conto mio sto utilizzando il metodo più semplice per avere cron di email con me messaggi di errore e rapporti di backup giornalieri: Esegui il backup della configurazione, degli script e dei documenti di Linux in Gmail .

Per riepilogare i passaggi:

sudo apt install ssmtp
sudo apt install sharutils

Devi inoltre indicare a gmail di consentire un accesso meno sicuro a te stesso per poter accettare le email. È documentato nella mia risposta sopra.

Il tuo file di configurazione per ssmtp DEVE essere modificato. Ecco il mio:

$ sudo cat /etc/ssmtp/ssmtp.conf
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.

# November 17, 2017.
# Required for cron to e-mail backups as per Ask Ubuntu answer:
# https://askubuntu.com/questions/917562/backup-linux-configuration-scripts-and-documents-to-gmail/922493#922493

#root=postmaster
[email protected]

# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
#mailhub=mail
mailhub=smtp.gmail.com:587

[email protected]
AuthPass=WinEunuuchs2UnixPassword
UseTLS=YES
UseSTARTTLS=YES
#Debug=YES

# Where will the mail seem to come from?
#rewriteDomain=
rewriteDomain=gmail.com

# The full hostname
hostname=alien

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

Cambia le linee precedenti con il nome dell'account Gmail, la password e il nome della macchina:

[email protected]
[email protected]
AuthPass=WinEunuuchs2UnixPassword
hostname=alien

Tieni presente che WinEunuuchs2UnixPassword è la tua password di Gmail e non la tua password Linux. Per ottenere il tuo hostname usa echo $HOSTNAME .

Segui i collegamenti nell'articolo di WordPress.

I collegamenti nell'articolo di WordPress nel primo link sopra devono essere seguiti per configurare gmail. Fai riferimento solo al mio link per una panoramica di base.

    
risposta data WinEunuuchs2Unix 11.03.2018 - 17:05

Leggi altre domande sui tag