Postfix: Sending of mail impossible

Greetings!

Looks as if I have traded in one problem for a bunch of more malfunctions by getting rid of the initial problem…
Now Postfix properly recognizes anything that’s coming in via port 25 (although the IMAP server any inbound mail is supposed to be forwarded to still misbehaves - but that’s not my concern here) from other SMTP servers, but instead anything I attempt to submit via port 587 causes it to complain (yes, the port has been unblocked in the master.cf, and the firewall is open as well) - strangely enough this won’t produce ANY log messages whatsoever that would allow me to figure out what’s going on in the first place.
The error message Postfix returns is “Requested action not taken: mailbox unavailable Sender address is not allowed.”

FYI, the master.cf:


#
# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp       inet  n       -       n       -       -       smtpd
#amavis    unix  -       -       n       -       4       smtp
#  -o smtp_data_done_timeout=1200
#  -o smtp_send_xforward_command=yes
#  -o disable_dns_lookups=yes
#  -o max_use=20
smtp       inet  n       -       n       -       1       postscreen
smtpd      pass  -       -       n       -       -       smtpd
#dnsblog   unix  -       -       n       -       0       dnsblog
#tlsproxy  unix  -       -       n       -       0       tlsproxy
submission inet  n       -       n       -       -       smtpd
   -o smtpd_etrn_restrictions=reject
   -o smtpd_sasl_type=cyrus
   -o smtpd_sasl_path=smtpd
   -o smtpd_sasl_auth_enable=yes
   -o smtpd_reject_unlisted_sender=yes
   -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
   -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o milter_macro_daemon_name=ORIGINATING
#smtps     inet  n       -       n       -       -       smtpd -o smtpd_tls_wrappermode=yes
#  -o syslog_name=postfix/smtps
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o milter_macro_daemon_name=ORIGINATING
#628       inet  n       -       n       -       -       qmqpd
pickup    fifo  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
#qmgr     fifo  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush   
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error  
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local  
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp   
anvil     unix  -       -       n       -       1       anvil
#localhost:10025 inet   n       -       n       -       -       smtpd
#  -o content_filter=
#  -o smtpd_delay_reject=no
#  -o smtpd_client_restrictions=permit_mynetworks,reject
#  -o smtpd_helo_restrictions=  
#  -o smtpd_sender_restrictions=
#  -o smtpd_recipient_restrictions=permit_mynetworks,reject
#  -o smtpd_data_restrictions=reject_unauth_pipelining
#  -o smtpd_end_of_data_restrictions=
#  -o smtpd_restriction_classes=
#  -o mynetworks=127.0.0.0/8  
#  -o smtpd_error_sleep_time=0   
#  -o smtpd_soft_error_limit=1001
#  -o smtpd_hard_error_limit=1000
#  -o smtpd_client_connection_count_limit=0
#  -o smtpd_client_connection_rate_limit=0
#  -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_address_mappings
#  -o local_header_rewrite_clients=
#  -o local_recipient_maps=
#  -o relay_recipient_maps=
scache    unix  -       -       n       -       1       scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual   
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent.  See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
#maildrop  unix  -       n       n       -       -       pipe
#  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
#
# ====================================================================
#
# Recent Cyrus versions can use the existing "lmtp" master.cf entry.
#
# Specify in cyrus.conf:
#   lmtp    cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Specify in main.cf one or more of the following:
#  mailbox_transport = lmtp:inet:localhost
#  virtual_transport = lmtp:inet:localhost
#
# ====================================================================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
#
#cyrus     unix  -       n       n       -       -       pipe
#  user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# ====================================================================
#
# Old example of delivery via Cyrus.
#
#old-cyrus unix  -       n       n       -       -       pipe
#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# ====================================================================
#
# See the Postfix UUCP_README file for configuration details.
#
#uucp      unix  -       n       n       -       -       pipe
#  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# ====================================================================
#
# Other external delivery methods.
#
#ifmail    unix  -       n       n       -       -       pipe
#  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
#
#bsmtp     unix  -       n       n       -       -       pipe
#  flags=Fq. user=bsmtp argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
#
#scalemail-backend unix -       n       n       -       2       pipe
#  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store 
#  ${nexthop} ${user} ${extension}
#
#mailman   unix  -       n       n       -       -       pipe
#  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
#  ${nexthop} ${user}
#
#procmail  unix  -       n       n       -       -       pipe
#  flags=R user=nobody argv=/usr/bin/procmail -t -m /etc/procmailrc ${sender} ${recipient}
#

My main.cf:


# Basic directory setup   
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
data_directory = /var/lib/postfix

# Postfix ownership & security
mail_owner = postfix
setgid_group = maildrop

# Mailer identification
mail_name = robidu.de mail
smtpd_banner = $mail_name. All spam is reported. ESMTP

# Listen everywhere
inet_interfaces = all

# Default user to deliver mail to
luser_relay =

append_dot_mydomain = no
append_at_myorigin = yes

# Aliases
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

# Various whitelist stuff
local_recipient_maps = $alias_maps

# Identification of system
myhostname = mail.robidu.de
mydomain = robidu.de
myorigin = $mydomain

# Deliver mails to these domains
mydestination = $myhostname, localhost.$mydomain, localhost, dl3ola.de, 13welten.net

# External networks from which to accept relayed emails 
mynetworks_style = subnet
mynetworks = 127.0.0.0/8, 81.169.175.87/32

# Do not use a relay!
relayhost =

# What do I relay?
relay_domains = dl3ola.de, 13welten.net

mailbox_command = /usr/bin/procmail -a "$EXTENSION"

# Set some limitations   
bounce_size_limit = 1024
mailbox_size_limit = 0
message_size_limit = 104857600

# Message restrictions
header_checks = regexp:/etc/postfix/header_checks

# Defines how long messages remain in the queue before being bounced
bounce_queue_lifetime = 4h 
maximal_queue_lifetime = 4h
delay_warning_time = 1h

# Force parallel delivery
local_destination_concurrency_limit = 2   
default_destination_concurrency_limit = 20

# For traffic tempering
in_flow_delay = 1s

# Require strict RFC 821-style envelope addresses!
strict_rfc821_envelopes = yes

# Limit info given to outside servers!
show_user_unknown_table_name = no
disable_vrfy_command = yes

# Require HELO or EHLO?  
smtpd_helo_required = yes

# Notification and delimiter
biff = no
recipient_delimiter =

# Disable certain substitutions
allow_percent_hack = no
swap_bangpath = no

# Tarpit until RCPT TO: is received
smtpd_delay_reject = yes

# Tarpit bots that send errors or scan for accounts
smtpd_error_sleep_time = 30
smtpd_soft_error_limit = 1  
smtpd_hard_error_limit = 3  
smtpd_junk_command_limit = 2

# Error codes
access_map_reject_code = 554
invalid_hostname_reject_code = 554
maps_rbl_reject_code = 554
multi_recipient_bounce_reject_code = 554
non_fqdn_reject_code = 554 
plaintext_reject_code = 554
reject_code = 554
relay_domains_reject_code = 554  
unknown_address_reject_code = 554
unknown_client_reject_code = 450  
unknown_hostname_reject_code = 450
unknown_local_recipient_reject_code = 554
unknown_relay_recipient_reject_code = 554
unknown_virtual_alias_reject_code = 554  
unknown_virtual_mailbox_reject_code = 554
unverified_recipient_reject_code = 554   
unverified_sender_reject_code = 554

# Login names mapped to particular senders
# smtpd_sender_login_maps = hash:/etc/postfix/addrmaps

# Access restrictions
smtpd_client_restrictions = permit_mynetworks,
                                check_client_access regexp:/etc/postfix/client_restrictions,
                                reject_invalid_hostname,
                                reject_rbl_client zen.spamhaus.org,
                                reject_unknown_client,
                                permit

smtpd_helo_restrictions = permit_mynetworks,
                                check_helo_access hash:/etc/postfix/helo_access,
                                reject_unauth_pipelining,
                                reject_non_fqdn_hostname,
                                reject_invalid_hostname,
                                warn_if_reject reject_unknown_hostname,
                                permit

smtpd_sender_restrictions = permit_mynetworks,
                                reject_non_fqdn_sender,
                                reject_unknown_sender_domain,
                                reject_unknown_address

smtpd_recipient_restrictions = check_policy_service inet:127.0.0.1:60000
                                reject_non_fqdn_sender,   
                                reject_non_fqdn_recipient,
                                reject_non_fqdn_hostname, 
                                reject_invalid_hostname,
                                permit_mynetworks,
                                reject_unauth_pipelining,
                                reject_unknown_sender_domain,
                                reject_unknown_recipient_domain,
                                reject_unauth_destination,
                                reject_unknown_client,
                                permit

smtpd_etrn_restrictions = permit_mynetworks,
                                reject

smtpd_data_restrictions = reject_unauth_pipelining,
                                reject_multi_recipient_bounce,
                                permit

# Manage my virtual mailboxes
virtual_mailbox_limit = 10737418240
#virtual_mailbox_domains = robidu.de, dl3ola.de, 13welten.net
virtual_mailbox_domains = robidu.de
virtual_mailbox_base = /var/mail   
virtual_mailbox_maps = hash:/etc/postfix/vboxes
virtual_transport = lmtp:unix:/var/lib/imap/socket/lmtp
virtual_minimum_uid = 1000
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_alias_maps = hash:/etc/postfix/virtual

# TLS for mail reception
smtpd_use_tls                           = yes
smtpd_tls_loglevel                      = 1  
smtpd_tls_received_header               = yes
smtpd_tls_security_level                = encrypt
smtpd_tls_cert_file                     = /etc/ssl/private/mail.robidu.de/selfmail.cert
smtpd_tls_key_file                      = /etc/ssl/private/mail.robidu.de/selfmail.key 
smtpd_tls_auth_only                     = yes
smtpd_tls_session_cache_database        = btree:${data_directory}/smtpd_cache
smtpd_tls_session_cache_timeout         = 3600s
tls_random_source                       = dev:/dev/urandom
tls_random_prng_update_period           = 3600s
smtpd_tls_CApath                        = /etc/ssl/certs

# TLS for mail transmission
smtp_use_tls                    = yes
smtp_tls_loglevel               = 1  
smtp_tls_security_level         = may
smtp_tls_cert_file              = /etc/ssl/private/mail.robidu.de/selfmail.cert
smtp_tls_key_file               = /etc/ssl/private/mail.robidu.de/selfmail.key 
smtp_tls_note_starttls_offer    = yes
smtp_tls_session_cache_database = btree:${data_directory}/smtp_cache
smtp_tls_CApath                 = /etc/ssl/certs

The SASL configuration:


pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: plain login
sasldb_path: /etc/postfix/passwd.db

TLS is working properly (I’ve checked that with openssl), and I could authenticate myself to the server by manually issuing an AUTH PLAIN.

However, that still doesn’t explain why attempting to send a mail with KMail continually gets rejected. The other problem (albeit a minor one): I even cannot probe the server’s capabilities.

Does anyone know what’s going on here? For my part, I have run out of options now…

On 2014-10-10 02:56, Robidu wrote:

> servers, but instead anything I attempt to submit via port 587 causes it
> to complain (yes, the port has been unblocked in the master.cf, and the
> firewall is open as well) - strangely enough this won’t produce ANY log
> messages whatsoever that would allow me to figure out what’s going on in
> the first place.
> The error message Postfix returns is “Requested action not taken:
> mailbox unavailable Sender address is not allowed.”

No, I understand that error would not log, unless you increase verbosity
for that domain.


debug_peer_level = 2
debug_peer_list = 127.0.0.1
debug_peer_list = some.domain

It appears that postfix does not approve of your from address :-?

May suggest you ask on the postfix mail list, if you don’t get a good
answer here? :slight_smile:
They are the specialists.


Cheers / Saludos,

Carlos E. R.
(from 13.1 x86_64 “Bottle” at Telcontar)

Looks like this has been a case of an error in layer 8 (set up an e-mail account without keeping in mind that the standard SMTP server is different from the one I attempted to set up) - which neatly explains why Postfix wouldn’t write anything to the logs even if I increased toe debug level: The delivery attempt wound up at the wrong server.
Guess I shouldn’t have done this thing well after midnight…

On 2014-10-10 05:06, Robidu wrote:
>
> Looks like this has been a case of an error in layer 8 (set up an e-mail
> account without keeping in mind that the standard SMTP server is
> different from the one I attempted to set up) - which neatly explains
> why Postfix wouldn’t write anything to the logs even if I increased toe
> debug level: The delivery attempt wound up at the wrong server.
> Guess I shouldn’t have done this thing well after midnight…

Ah. He. Glad you found out :slight_smile:


Cheers / Saludos,

Carlos E. R.
(from 13.1 x86_64 “Bottle” at Telcontar)