Not getting mail errors back when sending out emails to non-existent email accounts?

Hello,

I am trying to solve this mystery and I am not sure which setting to look for.
I don’t have any issues sending or receving emails from my server (Centos 6.4 / Virtualmin all up to date).
The problem is that I am not receiving an error back when for example an email gets rejected for whatever reason from the other end (ANY server). I have also enabled the “Request Delivery Receipt” in Outlook but I am not getting any errors (or any receipt anyway) when I deliberately send emails to unknown users of an existing domain. Sending the same emails from my Gmail works ok with the usual reports. Why I am not getting those when I am using my server?

Any ideas?

Note that I AM getting errors back if I send an email to an unknown host.

First step here is, like always and with any Linux problem, to take a look at the logfiles in /var/log. The process of returning an undeliverable mail should be noted there, also any problems that occur during that.

I am sorry for omitting the obvious but I have done this already and I couldn’t spot the error:
Here is an extract of maillog during an attempt to send an email from mynormal user to a NOT-existing email account (of a real domain, hosted elsewhere).

I have made some substitutions of real data.

Nov 30 13:48:00 myserver-hostname postfix/smtpd[26992]: connect from []

Nov 30 13:48:00 myserver-hostname postfix/smtpd[26992]: setting up TLS connection from []

Nov 30 13:48:00 myserver-hostname postfix/smtpd[26992]: Anonymous TLS connection established from []: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)

Nov 30 13:48:01 myserver-hostname postfix/smtpd[26992]: NOQUEUE: reject: RCPT from []: 550 5.1.1 NOT-existing-mailbox@an-existing-domain.net: Recipient address rejected: User unknown in virtual alias table; from=my-existing-user@mydomain.com to=NOT-existing-mailbox@an-existing-domain.net proto=ESMTP helo=

Nov 30 13:48:04 myserver-hostname postfix/smtpd[26992]: disconnect from []


That’s all.

EDIT:

smtpd_sender_restrictions = warn_if_reject reject_unknown_sender_domain reject_non_fqdn_sender

smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination reject_rbl_client zen.spamhaus.org reject_rbl_client bl.spamcop.net check_policy_service unix:/var/spool/postfix/postgrey/socket

Are those correct?

Anyone’s input please?

I have no immediate idea what could be wrong for you, but here’s the log transcript of a “correct” NDR:

Dec 2 14:55:09 australis postfix/smtps/smtpd[9534]: connect from xxx[1.1.1.1] Dec 2 14:55:09 australis postfix/smtps/smtpd[9534]: 8E55C44A19: client=xxx[1.1.1.1], sasl_method=PLAIN, sasl_username=xxx@xxx.de Dec 2 14:55:09 australis postfix/cleanup[9538]: 8E55C44A19: message-id=<921504329.20131202145510@xxx.de> Dec 2 14:55:09 australis postfix/qmgr[2042]: 8E55C44A19: from=<user@domain.de>, size=691, nrcpt=1 (queue active) Dec 2 14:55:09 australis postfix/smtp[9539]: 8E55C44A19: to=<gejiogjweiogjwreoigjergi@t-online.de>, relay=mx00.t-online.de[194.25.134.8]:25, delay=0.19, delays=0.09/0/ 0.04/0.06, dsn=5.1.1, status=bounced (host mx00.t-online.de[194.25.134.8] said: 550-5.1.1 user unknown 550 5.1.1 Unknown recipient. (in reply to RCPT TO command)) Dec 2 14:55:09 australis postfix/cleanup[9538]: B8B4E46657: message-id=<20131202135509.B8B4E46657@myhost.mydomain.de> Dec 2 14:55:09 australis postfix/qmgr[2042]: B8B4E46657: from=<>, size=2693, nrcpt=1 (queue active) Dec 2 14:55:09 australis postfix/bounce[9540]: 8E55C44A19: sender non-delivery notification: B8B4E46657 Dec 2 14:55:09 australis postfix/qmgr[2042]: 8E55C44A19: removed Dec 2 14:55:09 australis spamd[26143]: spamd: connection from localhost [127.0.0.1] at port 53891 Dec 2 14:55:09 australis spamd[26143]: spamd: setuid to user@domain.de succeeded Dec 2 14:55:10 australis spamd[26143]: spamd: processing message <20131202135509.B8B4E46657@myhost.mydomain.de> for user@domain.de:1020 Dec 2 14:55:10 australis postfix/smtps/smtpd[9534]: disconnect from xxx[1.1.1.1] Dec 2 14:55:10 australis spamd[26143]: spamd: clean message (-1.9/5.0) for user@domain.de:1020 in 0.3 seconds, 2751 bytes. Dec 2 14:55:10 australis spamd[26143]: spamd: result: . -1 - BAYES_00,NO_RELAYS scantime=0.3,size=2751,user=user@domain.de,uid=1020,required_score=5.0,rhost=localhost,ra ddr=127.0.0.1,rport=53891,mid=<20131202135509.B8B4E46657@myhost.mydomain.de>,bayes=0.000000,autolearn=ham Dec 2 14:55:10 australis postfix/local[9541]: B8B4E46657: to=<user-domain.de@myhost.mydomain.de>, orig_to=<user@domain.de>, relay=local, delay=0.56, delays=0/0/0/0.56, ds n=2.0.0, status=sent (delivered to command: /usr/bin/procmail-wrapper -o -a $DOMAIN -a "$EXTENSION" -d $LOGNAME) Dec 2 14:55:10 australis postfix/qmgr[2042]: B8B4E46657: removed Dec 2 14:55:10 australis spamd[26137]: prefork: child states: II

Thank you for the reply.
Although I tried I cant figure out which configuration setting is the one to be blamed.

Could you please share at least your 2 postix config files?
That I think will spread some light to the problem.

Much appreciated if you can do that.
N

Sure, here you are. main.cf:

[code]smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
delay_warning_time = 4h
readme_directory = no

TLS parameters

smtpd_tls_cert_file = /etc/postfix/sslmail_tianet_de.crt
smtpd_tls_key_file = /etc/postfix/sslmail_tianet_de.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 = hostname.domain.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = hostname.domain.de, localhost.domain.de, , localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = /usr/bin/procmail-wrapper -o -a $DOMAIN -a “$EXTENSION” -d $LOGNAME
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_alias_maps = hash:/etc/postfix/virtual
sender_bcc_maps = hash:/etc/postfix/bcc
home_mailbox = Maildir/
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination permit_dnswl_client list.dnswl.org check_policy_service inet:127.0.0.1:10023
allow_percent_hack = no
smtpd_client_restrictions = permit_sasl_authenticated permit_dnswl_client list.dnswl.org reject_rbl_client zen.spamhaus.org check_client_access hash:/etc/postfix/client-reject
message_size_limit = 50000000
smtpd_tls_CAfile = /etc/postfix/startcom.pem
smtpd_sasl_authenticated_header = yes
maximal_queue_lifetime = 3d
bounce_queue_lifetime = 3d
smtpd_client_connection_rate_limit = 15
smtpd_client_message_rate_limit = 25
smtpd_client_recipient_rate_limit = 50[/code]

master.cf:

[code]#

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 - - - - smtpd -o smtpd_sasl_auth_enable=yes
#smtp inet n - - - 1 postscreen
#smtpd pass - - - - - smtpd
#dnsblog unix - - - - 0 dnsblog
#tlsproxy unix - - - - 0 tlsproxy
#submission inet n - - - - smtpd

-o syslog_name=postfix/submission

-o smtpd_tls_security_level=encrypt

-o smtpd_sasl_auth_enable=yes

-o smtpd_client_restrictions=permit_sasl_authenticated,reject

-o milter_macro_daemon_name=ORIGINATING

smtps inet n - - - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
#628 inet n - - - - qmqpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - n 300 1 oqmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
relay unix - - - - - smtp

-o smtp_helo_timeout=5 -o smtp_connect_timeout=5

showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 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/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=/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/lib/bsmtp/bsmtp -t$nexthop -f$sender $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}

submission inet n - - - - smtpd -o smtpd_sasl_auth_enable=yes[/code]

Hmm, I’ve never heard of what you’re describing before… in theory, an email response is just being sent to the sender, if the address doesn’t exist.

And in your email logs that you shared above, I don’t see any problems, though I do see an email being delivered to an account on your server.

Is it possible that the messages are ending up in a spam folder?

Also, could you post the output of “postconf -n”?

That will show just the non-default Postfix options, which hopefully will make it simpler to see if there are any problems.

-Eric

Thank you for the reply.

I am attaching the postconf result on a txt file because copy pasting it in here does not recognize break-lines and all the text shows as one line.

To paste shell listings directly in a post here, you can enclose it in [code][/code] tags, that will preserve linebreaks and monospace font.

What about now?


--------
[root@my-hostname ~]# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
allow_percent_hack = no
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
home_mailbox = Maildir/
html_directory = no
inet_protocols = ipv4
mail_name = HERMES-N
mailbox_command = /usr/bin/procmail-wrapper -o -a $DOMAIN -d $LOGNAME
mailbox_size_limit = 0
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
milter_default_action = accept
milter_protocol = 2
mydestination = $myhostname, localhost.$mydomain, localhost, my-hostname.my-FQDN-domain.com
mynetworks = 127.0.0.0/8, <here I have several other public IPs plus a public subnet which includes the IP of this server> 
newaliases_path = /usr/bin/newaliases.postfix
non_smtpd_milters = inet:localhost:8891
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sender_bcc_maps = hash:/etc/postfix/bcc
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_milters = inet:localhost:8891
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination reject_rbl_client zen.spamhaus.org reject_rbl_client bl.spamcop.net check_policy_service unix:/var/spool/postfix/postgrey/socket
smtpd_sasl_auth_enable = yes
smtpd_sender_restrictions = warn_if_reject reject_unknown_sender_domain reject_non_fqdn_sender
smtpd_tls_CAfile = /etc/ssl/startssl/ca-bundle.crt
smtpd_tls_cert_file = /etc/ssl/startssl/mail.my-FQDN-domain.com.crt
smtpd_tls_key_file = /etc/ssl/startssl/mail.my-FQDN-domain.com.key
smtpd_tls_loglevel = 1
smtpd_tls_mandatory_ciphers = high
smtpd_tls_mandatory_protocols = SSLv3, TLSv1
smtpd_tls_security_level = may
unknown_local_recipient_reject_code = 550
virtual_alias_maps = hash:/etc/postfix/virtual
[root@my-hostname ~]#

--------

andreychek, do you see any problems with the posted config?

N

Well, I don’t see anything that jumps out at me which would explain the behavior you’re seeing.

I didn’t see any issues in the blurb from your logs though, is it possible that the missing emails are in an alternate folder, such as a spam folder?

-Eric

Well that was my No1 troubleshooting method. To look there. But no. Nothing.
:frowning: