• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

QMail started rejecting emails

C

ChipMonk

Guest
From last night, QMail has started rejecting emails on my server (no matter which domain) i send email with following error:

Hi. This is the qmail-send program at domain.tld.
I'm afraid I wasn't able to deliver your message to the following
addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

<[email protected]>:
Sorry. Although I'm listed as a best-preference MX or A for that host,
it isn't in my control/locals file, so I don't treat it as local.
(#5.4.6)

What can be the problem?
 
It looks like Q-mail doesn't see the domain on the server.

Try restarting qmail through ssh

1) login through ssh
2) su
3) /usr/local/psa/rc.d/qmail restart

if this doesn't work, check if the domain exists in the following files:

/usr/local/psa/qmail/control/rcpthosts

and

/usr/local/psa/qmail/control/virtualdomains
 
Originally posted by Wyre
It looks like Q-mail doesn't see the domain on the server.

Try restarting qmail through ssh

1) login through ssh
2) su
3) /usr/local/psa/rc.d/qmail restart

if this doesn't work, check if the domain exists in the following files:

/usr/local/psa/qmail/control/rcpthosts

and

/usr/local/psa/qmail/control/virtualdomains


qmail is not in that folder, btw, i restarted qmail several times, but still the same problem :s
 
Did you check the /var/qmail/control/virtualdomains and /var/qmail/control/rcpthosts files to make sure they contain the domain.tld(s) in question?
 
Originally posted by ShadowMan
Did you check the /var/qmail/control/virtualdomains and /var/qmail/control/rcpthosts files to make sure they contain the domain.tld(s) in question?

/var/qmail/control/virtualdomains :: contains NO domains at all

/var/qmail/control/rcpthosts :: contains ALL the domains
 
Originally posted by ChipMonk
/var/qmail/control/virtualdomains :: contains NO domains at all

That is your problem, the server doesn't accept any mail because it doesn't recognize the domain, because it isn't in your virtualdomains file.
 
Originally posted by Wyre
That is your problem, the server doesn't accept any mail because it doesn't recognize the domain, because it isn't in your virtualdomains file.

now do i have to set it manually?


if yes, how?
 
Do you not have a backup of that file?

The format of the virtualdomains file is:

domainname.tld:prefix

where the prefix number is assigned when the domain is created in the Plesk interface.

This corresponds to the domain ID number in the PSA database.

If you do not have a backup of the file, then you will need to query the mysql database 'psa' and obtain the list of domains and their ID numbers so you can manually rebuild the virtualdomains file.
 
hmm, okay, now i will try (btw, if i had the backup, i would have restored it :p)
 
Double cross posts... :)

Yeah, I figured you would have, but it didn't hurt to ask in any case... sometimes we get flustered and whatnot... no offense intended...
 
Originally posted by ShadowMan
Double cross posts... :)

Yeah, I figured you would have, but it didn't hurt to ask in any case... sometimes we get flustered and whatnot... no offense intended...

no offence taken :) u can imagine my frustration that more than 100 domains are down (emailwise)

one last thing, HOW i can see the PSA database? is there any way to check it through phpMyadmin? or any web based tools?

I am totally idiot when it comes to DB management.
 
No problem, I too am not a mysql guru, so yes, use phpMyAdmin. Download and install it onto your main hosting domain (password protect the directory is a good thing too). Then look into the 'psa' database, 'domains' table, fields 'id' and 'name'

Alternatively, you can login to mysql from SSH and do:

mysql -uadmin -pyouradminpassword
mysql>use psa
mysql>select id,name from domains;

and this will show a list of the id's and domain names. Then to exit mysql, give the command 'quit'. Don't forget to put the semicolon at the end of the 'select' line... and you don't type the 'mysql>' on the 2nd and 3rd lines, that is the mysql prompt...
 
thanx a lot guys :)

i really apreciate all the help from you all.

especially shadowman
 
Back
Top