Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I get errors such as

Feb 11 05:45:07 htz postfix/sendmail[6465]: fatal: User web6(5006) is not allowed to submit mail
Feb 11 05:45:56 htz postfix/sendmail[6466]: fatal: User web21(5012) is not allowed to submit mail
Feb 11 05:54:24 htz postfix/sendmail[6605]: fatal: User web21(5012) is not allowed to submit mail
Feb 11 05:54:39 htz postfix/sendmail[6607]: fatal: User web21(5012) is not allowed to submit mail
Feb 11 05:54:54 htz postfix/sendmail[6608]: fatal: User web21(5012) is not allowed to submit mail
Feb 11 05:55:09 htz postfix/sendmail[6666]: fatal: User web21(5012) is not allowed to submit mail
Feb 11 21:50:34 htz postfix/sendmail[28194]: fatal: User web21(5012) is not allowed to submit mail
Feb 12 08:18:32 htz postfix/sendmail[4643]: fatal: User web6(5006) is not allowed to submit mail

my is

# See /usr/share/postfix/ for a commented, more complete version
#queue_directory = /var/spool/postfix
authorized_submit_users = root, !static:all
# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = /usr/share/doc/postfix

# TLS parameters
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname =
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
myorigin = /etc/mailname
mydestination = localhost, localhost.localdomain
mynetworks = [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
html_directory = /usr/share/doc/postfix/html
virtual_alias_domains =
virtual_mailbox_maps = proxy:mysql:/etc/postfix/
virtual_mailbox_base = /var/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
inet_protocols = all
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/, reject_unauth_destin$
#smtpd_recipient_restrictions = permit_sasl_authenticated permit_mynetworks reject_unauth_destination
smtpd_tls_security_level = may
transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:/etc/postfix/
relay_domains = mysql:/etc/postfix/
relay_recipient_maps = mysql:/etc/postfix/
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $
smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/
#smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_client_restrictions = check_client_access mysql:/etc/postfix/
smtpd_client_message_rate_limit = 100
maildrop_destination_concurrency_limit = 1
maildrop_destination_recipient_limit = 1
virtual_transport = dovecot
header_checks = regexp:/etc/postfix/header_checks
mime_header_checks = regexp:/etc/postfix/mime_header_checks
nested_header_checks = regexp:/etc/postfix/nested_header_checks
body_checks = regexp:/etc/postfix/body_checks
owner_request_special = no
#dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
#content_filter = amavis:[]:10024
#receive_override_options = no_address_mappings
message_size_limit = 0
debug_peer_level = 10
minimal_backoff_time = 1000s

I wonder if there is a way for me to get out of this

share|improve this question
up vote 11 down vote accepted

Did you type your error message into Google? I'm betting the answer is no.
If I Google the phrase postfix fatal user is not allowed to submit mail the VERY FIRST RESULT is this page from the documentation, which tells you:

authorized_submit_users (default: static:anyone)
List of users who are authorized to submit mail with the sendmail(1) command (and with the privileged postdrop(1) helper command).

By default, all users are allowed to submit mail. Otherwise, the real UID of the process is looked up in the system password file, and access is granted only if the corresponding login name is on the access list. The username "unknown" is used for processes whose real UID is not found in the password file. To deny mail submission access to all users specify an empty list.

Specify a list of user names, "/file/name" or "type:table" patterns, separated by commas and/or whitespace. The list is matched left to right, and the search stops on the first match. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a name matches a lookup key (the lookup result is ignored). Continue long lines by starting the next line with whitespace. Specify "!pattern" to exclude a user name from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.


authorized_submit_users = !www, static:all

Set your authorized_submit_users option correctly and your errors will go away.

And next time please read the documentation before running to Server Fault.
This site should be your LAST resort for help - the documentation should be your first.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.