1

Topic: Please help : Recipient address rejected: Policy rejection; from=<>

======== Required information ====
- iRedMail version: 0.9.2
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): MySQL
- Web server (Apache or Nginx): Apache
- Linux/BSD distribution name and version: Debian 7.8
- Related log if you're reporting an issue:
====

Hello,

I have a problem with the postfix configuration. My mails work correctly, but when I send mail from mail function in php with -fbounce@mydomain.com in fifth parameter to a wrong address (for create a bounce mail), the bounce mail isn't delivered.

I have a OVH RIPE block IPs, like XXX.XXX.XXX.XXX/29 (XXX.XXX.XXX.0 to XXX.XXX.XXX.7).
My webserver with php is on XXX.XXX.XXX.1 and my mail server is on .0.

My php command (works on another mail server)
mail('wrong@mydomain.com', 'My Subject', 'Content', 'From: contact@mydomain.com', '-fbounce@mydomain.com');



Example logs: /var/log/mail.info

Jun 22 10:40:41 myserver postfix / smtpd [8157]: connect from unknown [XXX.XXX.XXX.1]
Jun 22 10:40:41 myserver postfix / smtpd [8157]: NOQUEUE: reject: RCPT from unknown [XXX.XXX.XXX.1]: 550 5.1.1 <wrong@mydomain.com>: Recipient address rejected: User unknown in virtual mailbox table; from = <bounce@mydomain.com> to = <wrong@mydomain.com> proto = ESMTP helo = <myserver.mydomain.com>
Jun 22 10:40:41 myserver postfix / smtpd [8157]: disconnect from unknown [XXX.XXX.XXX.1]
Jun 22 10:40:41 myserver postfix / smtpd [8204]: connect from unknown [XXX.XXX.XXX.1]
Jun 22 10:40:41 myserver postfix / smtpd [8204]: NOQUEUE: reject: RCPT from unknown [XXX.XXX.XXX.1]: 554 5.7.1 <bounce@mydomain.com>: Recipient address rejected: rejection Policy ; from = <> to = <bounce@mydomain.com> proto = ESMTP helo = <myserver.mydomain.com>
Jun 22 10:40:41 myserver postfix / smtpd [8204]: disconnect from unknown [XXX.XXX.XXX.1]



How can I accept these mails ?
I thing it don't accept the blank from but how can I allow it ?

Sorry for my poor english, I'm french.



My main.cf :

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# 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 = no

# TLS parameters
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail.crt
smtpd_tls_key_file = /etc/ssl/private/iRedMail.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 = mail.mydomain.com
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
mydestination = $myhostname, localhost, localhost.localdomain
relayhost =
mynetworks = 127.0.0.1 XXX.XXX.XXX.0/29
mailbox_command = /usr/lib/dovecot/deliver
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4
virtual_alias_domains =
myorigin = mail.mydomain.com
mydomain = mydomain.com
allow_percent_hack = no
swap_bangpath = no
mynetworks_style = host
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_reject_unlisted_recipient = yes
smtpd_reject_unlisted_sender = yes
smtpd_tls_protocols = !SSLv2 !SSLv3
smtp_tls_protocols = !SSLv2 !SSLv3
lmtp_tls_protocols = !SSLv2 !SSLv3
smtpd_tls_mandatory_protocols = !SSLv2 !SSLv3
smtp_tls_mandatory_protocols = !SSLv2 !SSLv3
lmtp_tls_mandatory_protocols = !SSLv2 !SSLv3
smtpd_tls_mandatory_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CDC3-SHA, KRB5-DE5, CBC3-SHA
smtpd_tls_dh1024_param_file = /etc/ssl/dhparams.pem
smtp_tls_security_level = may
smtp_tls_CAfile = $smtpd_tls_CAfile
smtp_tls_loglevel = 0
smtp_tls_note_starttls_offer = yes
smtpd_sender_restrictions = reject_unknown_sender_domain, reject_non_fqdn_sender, reject_unlisted_sender, permit_mynetworks, reject_sender_login_mismatch, permit_sasl_authenticated
delay_warning_time = 0h
maximal_queue_lifetime = 4h
bounce_queue_lifetime = 4h
proxy_read_maps = $canonical_maps $lmtp_generic_maps $local_recipient_maps $mydestination $mynetworks $recipient_bcc_maps $recipient_canonical_maps $relay_domains $relay_recipient_maps $relocated_maps $sender_bcc_maps $sender_canonical_maps $smtp_generic_maps $smtpd_sender_login_maps $transport_maps $virtual_alias_domains $virtual_alias_maps $virtual_mailbox_domains $virtual_mailbox_maps $smtpd_sender_restrictions
smtp_data_init_timeout = 240s
smtp_data_xfer_timeout = 600s
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname, check_helo_access pcre:/etc/postfix/helo_access.pcre
queue_run_delay = 300s
minimal_backoff_time = 300s
maximal_backoff_time = 4000s
enable_original_recipient = no
disable_vrfy_command = yes
home_mailbox = Maildir/
allow_min_user = no
message_size_limit = 104857600
virtual_minimum_uid = 2000
virtual_uid_maps = static:2000
virtual_gid_maps = static:2000
virtual_mailbox_base = /var/vmail
transport_maps = proxy:mysql:/etc/postfix/mysql/transport_maps_user.cf, proxy:mysql:/etc/postfix/mysql/transport_maps_domain.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql/virtual_mailbox_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql/virtual_mailbox_maps.cf
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql/virtual_alias_maps.cf, proxy:mysql:/etc/postfix/mysql/domain_alias_maps.cf, proxy:mysql:/etc/postfix/mysql/catchall_maps.cf, proxy:mysql:/etc/postfix/mysql/domain_alias_catchall_maps.cf
sender_bcc_maps = proxy:mysql:/etc/postfix/mysql/sender_bcc_maps_user.cf, proxy:mysql:/etc/postfix/mysql/sender_bcc_maps_domain.cf
recipient_bcc_maps = proxy:mysql:/etc/postfix/mysql/recipient_bcc_maps_user.cf, proxy:mysql:/etc/postfix/mysql/recipient_bcc_maps_domain.cf
relay_domains = $mydestination, proxy:mysql:/etc/postfix/mysql/relay_domains.cf
smtpd_sender_login_maps = proxy:mysql:/etc/postfix/mysql/sender_login_maps.cf
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
#smtpd_tls_auth_only = yes
smtpd_recipient_restrictions = reject_unknown_recipient_domain, reject_non_fqdn_recipient, reject_unlisted_recipient, check_policy_service inet:127.0.0.1:7777, check_policy_service inet:127.0.0.1:10031, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:7777, check_policy_service inet:127.0.0.1:10031,
smtpd_tls_security_level = may
smtpd_tls_loglevel = 0
smtpd_tls_CAfile = /etc/ssl/certs/iRedMail.crt
tls_random_source = dev:/dev/urandom
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/dovecot-auth
content_filter = smtp-amavis:[127.0.0.1]:10024
smtp-amavis_destination_recipient_limit = 1

----

Spider Email Archiver: On-Premises, lightweight email archiving software developed by iRedMail team. Supports Amazon S3 compatible storage and custom branding.

2

Re: Please help : Recipient address rejected: Policy rejection; from=<>

tasiot wrote:

Recipient address rejected: User unknown in virtual mailbox table; ... to = <wrong@mydomain.com>

To fix this, it's better to always use a correct email address. Or, set 'smtpd_reject_unlisted_recipient=no' in Postfix main.cf.

tasiot wrote:

Jun 22 10:40:41 myserver postfix / smtpd [8204]: NOQUEUE: reject: RCPT from unknown [XXX.XXX.XXX.1]: 554 5.7.1 <bounce@mydomain.com>: Recipient address rejected: rejection Policy ; from = <> to = <bounce@mydomain.com> proto = ESMTP helo = <myserver.mydomain.com>

Caused by iRedAPD plugin 'reject_null_sender', defined in file /opt/iredapd/settings.py.

Every email should have a valid sender and recipient, if sender is null, it might be spam, that's why we reject null sender.

The solution is:

*) Update your script to specify a valid sender address. (This is recommended.)
*) Disable plugin 'reject_null_sender' in /opt/iredapd/settings.py (this is NOT recommended).

3

Re: Please help : Recipient address rejected: Policy rejection; from=<>

Hi ZhangHuangbin,

Thank you for your reply.

1) Mails work fine but only bounce are not accepted because they are sent with the null sender.
My test "wrong@mydomain.com" was only to reproduct this error.

2) I use postfixadmin to manage accounts. I have not disabled the plugin because I thought he was talking to iRedAdmin (instead of iRedAdp). I just disable it and everything is ok.

thank you

(this post can be closed)