devdev / in the loop

Errore in Plesk: Recipient address rejected: User unknown in virtual mailbox table

Se si ottiene l’errore in Plesk per Linux:

NOQUEUE: reject: RCPT from localhost.localdomain[127.0.0.1]: 550 5.1.1 <luca@dominio2.it>: Recipient address rejected: User unknown in virtual mailbox table; from=<info@dominio.it> to=<luca@dominio2.it> proto=ESMTP helo=<webmail.dominio.it>

è probabile che lo schema delle mailbox sul sever sia corrotto o contenga errori. In pratica, questo avviene quando Postfix cerca di inviare una mail ad un dominio che è sullo stesso server. Avviene infatti al momento dell’invio (cioè non “ci torna indietro”, ma non viene affatto inviata) proprio perché l’SMTP pensa che il destinatario abbia una casella sullo stesso server di chi invia. Se non è così, c’è chiaramente un problema di configurazione.

Dovrebbe, infatti, essere inviato dal nostro server SMTP al server di destinazione basandosi semplicemente sul record DNS MX del destinatario. Postfix va a leggere un file che contiene le “caselle locali”, cioè proprio quelle sullo stesso server. Teniamo questo file sotto controllo e verifichiamo che non vi siano errori. Vediamo come fare controllando il file:

# postmap -s /var/spool/postfix/plesk/virtual
email@dominio1.it  email@dominio1.it
..

In alcuni casi ci troveremo con una situazione simile a questa:

# postmap -s /var/spool/postfix/plesk/virtual
..
email@dominio.com  1
..

Questo è palesemente un errore, in quanto “1” non è un indirizzo formalmente valido. Quello che dobbiamo fare è editare questo file cancellando la corrispondenza. Per prima cosa, facciamo una copia di backup di questo file, non si sa mai.

# cp -p /var/spool/postfix/plesk/virtual.db{,_backup}

Poi, creiamo un file temporaneo, che andremo a modificare direttamente:

# postmap -s /var/spool/postfix/plesk/virtual > /tmp/virtual

A questo punto possiamo editare il file con il nostro editor preferito, come vi  e cancellare la riga, come detto in precedenza:

# vi /tmp/virtual
[editiamo il file cancellando gli errori, salviamo, usciamo]

Creiamo un nuovo database basato su questo file appena editato:

# postmap /tmp/virtual

e infine sovrascriviamo il file principale con questo, nuovo e corretto:

# cp /tmp/virtual.db /var/spool/postfix/plesk/

 

Fatto. Dovremmo aver risolto il problema.

Questo articolo ti è stato utile?
Server – LETTURA 7 MINUTI Il comando du, esempi e flag
Il comando du è uno standard Linux/Unix (e Mac) che ci permette di ottenere informazioni su file e cartelle in…
Server – LETTURA 5 MINUTI rsync: come escludere file e cartelle
Rsync (Remote sync) è uno strumento molto potente per poter sincronizzare due cartelle, e per poter effettuare backup incrementali. In…
Server – LETTURA 4 MINUTI Come bloccare un IP con .htaccess
Bloccare l’accesso ad un sito può essere utile per vari motivi: bloccare script malevoli, proteggersi dagli stalker o da quegli…
Server – LETTURA 12 MINUTI Che cos’è la High Availability
In questi anni stiamo vedendo un incremento verticale delle strutture ad alta efficacia, sia in termini di performance che di…
Roba figa da
if (weekend) {
    relax();
}
la nostra newsletter, ogni tanto.