I've started working on my bastard Mac postfix relay.  For delivery to
the local domain, it will only relay to the internal mail server
defined in transport if the user exists locally on the postfix
box...and I can't figure out why (luckily, the 450 safety net is
there!).  I could see how it would deliver locally OR relay, but not a
conditional as it is.  I would imagine this is also why recipient
delimiters aren't being acknowledged, and the smtp recipient probe for
reject_unverified_recipient.
Below is a snippet from the mail logs, followed by postconf -n
(specifying the working directory since postconf defaults to
/etc/postfix on Mavericks server even though that's not where Apple's
implementation puts its config files), and transport.

Any thoughts?  Thanks.

Logging:
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: >>> START
Recipient address RESTRICTIONS <<<
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: generic_checks:
name=permit_sasl_authenticated
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: generic_checks:
name=permit_sasl_authenticated status=0
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: generic_checks:
name=permit_mynetworks
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
permit_mynetworks: mxout-044-pao.mailhop.org 216.146.32.44
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: match_hostname:
mxout-044-pao.mailhop.org ~? 127.0.0.0/8
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: match_hostaddr:
216.146.32.44 ~? 127.0.0.0/8
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: match_hostname:
mxout-044-pao.mailhop.org ~? [::1]/128
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: match_hostaddr:
216.146.32.44 ~? [::1]/128
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: match_hostname:
mxout-044-pao.mailhop.org ~? 192.168.1.0/24
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: match_hostaddr:
216.146.32.44 ~? 192.168.1.0/24
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
match_list_match: mxout-044-pao.mailhop.org: no match
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
match_list_match: 216.146.32.44: no match
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: generic_checks:
name=permit_mynetworks status=0
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: generic_checks:
name=reject_unauth_destination
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
reject_unauth_destination: dom...@pointyears.net
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
permit_auth_destination: dom...@pointyears.net
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: ctable_locate:
leave existing entry key dom...@pointyears.net
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: generic_checks:
name=reject_unauth_destination status=0
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: generic_checks:
name=reject_unknown_recipient_domain
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
reject_unknown_address: dom...@pointyears.net
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: ctable_locate:
leave existing entry key dom...@pointyears.net
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: generic_checks:
name=reject_unknown_recipient_domain status=0
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: generic_checks:
name=reject_unverified_recipient
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
reject_unverified_address: dom...@pointyears.net
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: connect to
subsystem private/verify
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: send attr request = query
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: send attr
address = dom...@pointyears.net
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: private/verify
socket: wanted attribute: status
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute
name: status
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute value: 0
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: private/verify
socket: wanted attribute: recipient_status
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute
name: recipient_status
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute value: 0
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: private/verify
socket: wanted attribute: reason
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute
name: reason
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute
value: 250 Ok
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: private/verify
socket: wanted attribute: (list terminator)
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute
name: (end)
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: generic_checks:
name=reject_unverified_recipient status=0
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: >>> END
Recipient address RESTRICTIONS <<<
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: >>> CHECKING
RECIPIENT MAPS <<<
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: ctable_locate:
leave existing entry key dom...@pointyears.net
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: maps_find:
recipient_canonical_maps: dom...@pointyears.net: not found
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: match_string:
pointyears.net ~? pointyears.net
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: maps_find:
recipient_canonical_maps: domain: not found
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: maps_find:
recipient_canonical_maps: @pointyears.net: not found
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: mail_addr_find:
dom...@pointyears.net -> (not found)
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: maps_find:
canonical_maps: dom...@pointyears.net: not found
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: match_string:
pointyears.net ~? pointyears.net
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: maps_find:
canonical_maps: domain: not found
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: maps_find:
canonical_maps: @pointyears.net: not found
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: mail_addr_find:
dom...@pointyears.net -> (not found)
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: maps_find:
virtual_alias_maps: dom...@pointyears.net: not found
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: match_string:
pointyears.net ~? pointyears.net
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: maps_find:
virtual_alias_maps: domain: not found
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: maps_find:
virtual_alias_maps: @pointyears.net: not found
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: mail_addr_find:
dom...@pointyears.net -> (not found)
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: connect to
subsystem private/proxymap
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: send attr
request = lookup
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: send attr table
= unix:passwd.byname
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: send attr flags = 16448
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: send attr key =
dom...@pointyears.net
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
private/proxymap socket: wanted attribute: status
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute
name: status
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute value: 1
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
private/proxymap socket: wanted attribute: value
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute
name: value
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute
value: (end)
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
private/proxymap socket: wanted attribute: (list terminator)
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute
name: (end)
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
dict_proxy_lookup: table=unix:passwd.byname flags=lock|fold_fix
key=dom...@pointyears.net -> status=1 result=
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: maps_find:
local_recipient_maps: dom...@pointyears.net: not found
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: match_string:
pointyears.net ~? pointyears.net
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: send attr
request = lookup
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: send attr table
= unix:passwd.byname
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: send attr flags = 16448
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: send attr key = domain
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
private/proxymap socket: wanted attribute: status
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute
name: status
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute value: 1
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
private/proxymap socket: wanted attribute: value
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute
name: value
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute
value: (end)
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
private/proxymap socket: wanted attribute: (list terminator)
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute
name: (end)
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
dict_proxy_lookup: table=unix:passwd.byname flags=lock|fold_fix
key=domain -> status=1 result=
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: maps_find:
local_recipient_maps: domain: not found
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: send attr
request = lookup
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: send attr table
= unix:passwd.byname
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: send attr flags = 16448
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: send attr key =
@pointyears.net
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
private/proxymap socket: wanted attribute: status
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute
name: status
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute value: 1
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
private/proxymap socket: wanted attribute: value
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute
name: value
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute
value: (end)
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
private/proxymap socket: wanted attribute: (list terminator)
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: input attribute
name: (end)
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]:
dict_proxy_lookup: table=unix:passwd.byname flags=lock|fold_fix
key=@pointyears.net -> status=1 result=
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: maps_find:
local_recipient_maps: @pointyears.net: not found
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: mail_addr_find:
dom...@pointyears.net -> (not found)
Mar 15 17:50:36 miniserv.private postfix/smtpd[36549]: NOQUEUE:
reject: RCPT from mxout-044-pao.mailhop.org[216.146.32.44]: 450 4.1.1
<dom...@pointyears.net>: Recipient address rejected: User unknown in
local recipient table; from=<rze...@gmail.com>
to=<dom...@pointyears.net> proto=ESMTP helo=<mail-11-pao.dyndns.com>


Postconf -n:
biff = no
command_directory = /usr/sbin
config_directory = /Library/Server/Mail/Config/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
daemon_directory = /usr/libexec/postfix
data_directory = /Library/Server/Mail/Data/mta
debug_peer_level = 1
debug_peer_list = mailhop.org
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
dovecot_destination_recipient_limit = 1
enable_server_options = yes
header_checks =
html_directory = /usr/share/doc/postfix/html
imap_submit_cred_file = /Library/Server/Mail/Config/postfix/submit.cred
inet_interfaces = all
inet_protocols = all
local_transport = error:local mail delivery is disabled
mail_owner = _postfix
mailbox_size_limit = 0
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
message_size_limit = 20485760
mydestination = $mydomain
mydomain = pointyears.net
mydomain_fallback = localhost
myhostname = miniserv.pointyears.net
mynetworks = 127.0.0.0/8, [::1]/128 , 192.168.1.0/24
newaliases_path = /usr/bin/newaliases
queue_directory = /Library/Server/Mail/Data/spool
readme_directory = /usr/share/doc/postfix
recipient_canonical_maps =
hash:/Library/Server/Mail/Config/postfix/system_user_maps
recipient_delimiter = -
relayhost = smtp.comcast.net:587
sample_directory = /usr/share/doc/postfix/examples
sendmail_path = /usr/sbin/sendmail
setgid_group = _postdrop
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/Library/Server/Mail/Config/postfix/sasl/passwd
smtp_sasl_security_options =
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_client_restrictions = permit_mynetworks permit_sasl_authenticated permit
smtpd_enforce_tls = no
smtpd_helo_required = no
smtpd_helo_restrictions =
smtpd_pw_server_security_options = cram-md5,digest-md5,login,plain
smtpd_recipient_restrictions = permit_sasl_authenticated
permit_mynetworks reject_unauth_destination
reject_unknown_recipient_domain reject_unverified_recipient
smtpd_sasl_auth_enable = yes
smtpd_tls_CAfile =
/etc/certificates/miniserv.private.4B51A5FA6E5667ACF67485DA6BA7BB562F685C80.chain.pem
smtpd_tls_cert_file =
/etc/certificates/miniserv.private.4B51A5FA6E5667ACF67485DA6BA7BB562F685C80.cert.pem
smtpd_tls_ciphers = medium
smtpd_tls_exclude_ciphers = SSLv2, aNULL, ADH, eNULL
smtpd_tls_key_file =
/etc/certificates/miniserv.private.4B51A5FA6E5667ACF67485DA6BA7BB562F685C80.key.pem
smtpd_tls_loglevel = 1
smtpd_tls_security_level = may
smtpd_use_pw_server = yes
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
transport_maps = hash:/Library/Server/Mail/Config/postfix/transport
unknown_local_recipient_reject_code = 450
use_sacl_cache = yes
virtual_alias_domains = $virtual_alias_maps
virtual_alias_maps = $virtual_maps


transport:
#                                                                   TRANSPORT(5)
pointyears.net smtp:[192.168.1.5]:587

Reply via email to