Applicable to:
- Plesk for Linux
Symptoms
-
Unable to send mail messages with the following error:
in Horde webmail:
CONFIG_TEXT: Server is not accepting SMTP connection.
in Roundcube webmail :
CONFIG_TEXT: The message could not be sent. You are not allowed to use sendmail utility
-
There are the following records in
/var/log/maillog
file:CONFIG_TEXT: /usr/lib64/plesk-9.0/psa-pc-remote[923]: handlers_stderr: DATA REPLY:554:5.7.0 The message could not be sent. You are not allowed to use sendmail utility. REJECT
milter-reject: END-OF-MESSAGE from hostname.hostname[127.0.0.1]: 5.7.0 The message could not be sent. You are not allowed to use sendmail utility.; from=johndoe@example.com to=johndoe@gmail.com proto=ESMTP -
Unable to send email via Wordpress or PHP script with the following records in
/var/log/maillog
file:CONFIG_TEXT: plesk sendmail[5215]: ERROR Rejecting message: system user uid='xx' is not allowed to send mail
plesk sendmail[5214]: handlers_stderr: DATA REPLY:554:5.7.0 Your message could not be sent. The user johndoe is not allowed to send email.
plesk sendmail[5214]: handlers_stderr: REJECT
plesk sendmail[5214]: REJECT during call 'limit-out' handler -
Outgoing mail limits database does not contain the subscription system user or/and subscription:
# sqlite3 /var/lib/plesk/mail/outgoing/data.db
sqlite> .headers on
sqlite> select * from sysusers where name like '%johndoe%';
sqlite>OR
# sqlite3 /var/lib/plesk/mail/outgoing/data.db
sqlite> .headers on
sqlite> select * from domains where name like '%example.com%';
id|name|subscription_id|out_limit
200|example.com|100|500
sqlite> select * from subscriptions where id=100;
sqlite>
Cause
Inconsistency in the outgoing mail limits database.
Resolution
Note: latest 3rd-line - PPS-11082, recommended solution: plesk repair mail
. Consider running it first before proceeding to further steps
-
Connect to the server via SSH.
Note: if direct SSH access to the server is not possible, contact server administrator for further assistance.
-
Create a backup of the outgoing mail limits database:
# cp -p /var/lib/plesk/mail/outgoing/data.db /var/lib/plesk/mail/outgoing/data.db.back
-
Check for any users that might be missing from outgoing mail limits database:
# plesk db -e "select login from sys_users" | tail -n +2 | while read login; do sqlite3 /var/lib/plesk/mail/outgoing/data.db "select * from sysusers where name like '%$login%'; " | grep -q '.'; [[ $? -ne 0 ]] && echo $login; done
The users from the output of the command above should be matched with the users in the
# plesk db "select id,login,mapped_to from sys_users"sys_users
table:
The users who have not NULL value, but instead, an id value in the columnmapped_to
, are additional FTP users means. And the next step should not be applied for them. -
Add the missing subscription or/and system user into the database:
Note: change the "example.com" domain and "johndoe" system user in the commands below to the correct one.
# /usr/local/psa/admin/sbin/mailmng-outgoing --add-subscription --main-domain-name=example.com
Note: if the domain is configured as a forwarding type in Domains > example.com > Hosting Settings > Hosting Type the command below can be skipped because the systemuser does not exist.
# /usr/local/psa/admin/sbin/mailmng-outgoing --add-sysuser --main-domain-name=example.com --sysuser=johndoe
Note: if the issue still persists, then change the mailbox limit on the subscription from 0 to at least 1 and then re-run the commands above
Comments
0 comments
Please sign in to leave a comment.