On Monday 21 November 2011 23:22:00 Alex wrote:
> I have a postfix-2.8 server running on fedora15 with a few virtual
> domains, and can't figure out how one of my domains is listed
> twice.
> 
> Nov 22 00:07:46 portal postfix/trivial-rewrite[26271]: warning: do
> not list domain example.com in BOTH virtual_alias_domains and
> relay_domains
> 
> I thought I could include my postfinger output here to try and
> troubleshoot this. I also have the following virtual map:
> 
> example.com       VIRTUALDOMAIN
> cyril.thorn...@example.com        thorntc
> brain.morris...@example.com     morrisb
> sharon.zap...@example.com zapatas
> diane.merr...@example.com merrald
> swapna.maree...@example.com       mareeds
> luis.co...@example.com    colonl

You're using the default setting of virtual_alias_domains = 
$virtual_alias_maps, so there you have defined example.com as a 
virtual alias domain.

You're also using unqualified addresses as the targets, therefore 
you're relying on $myorigin, for which you are using the default. 
Generally myorigin is too important. I always set it explicitly. And 
in maps I always use complete addresses, so there can be no surprises 
such as if $myorigin is changed.

  example.com       VIRTUALDOMAIN
  cyril.thorn...@example.com        thorntc@localhost
  ...

and then include "localhost,localhost.$mydomain" in mydestination.

> Is the solution to just remove $mydestination from $relay_domains?

If not using relay domains, unset it. "relay_domains = $mydestination" 
was an old compatibility hack. You don't need it.

> I also have the following transport:
> 
> example.com       local:
> .example.com      local:
> 
> Without it, there was an apparent mail loop.

My suggestion as shown above fixes this problem.

> postfinger - postfix configuration on Mon Nov 21 23:55:45 EST 2011
> version: 1.30
> 
> --System Parameters--
> mail_version = 2.8.5
> hostname = portal.example.com
> uname = Linux portal.example.com 2.6.41.1-1.fc15.x86_64 #1 SMP Fri
> Nov 11 21:36:28 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
> 
> --Packaging information--
> looks like this postfix comes from RPM package:
> postfix-2.8.5-1.fc15.x86_64
> 
> --main.cf non-default parameters--
> alias_database = hash:/etc/postfix/aliases
> alias_maps = hash:/etc/postfix/aliases
> allow_mail_to_files = alias,forward
> always_bcc = bcc-user
> biff = no
> body_checks = regexp:/etc/postfix/body_checks.pcre
> bounce_queue_lifetime = 2d
> content_filter = smtp-amavis:[127.0.0.1]:10024
> default_process_limit = 140
> delay_warning_time = 4h
> disable_vrfy_command = yes
> header_checks =
> pcre:/etc/postfix/header_checks.pcre  
pcre:/etc/postfix/header_checks-jimsun.pcre
> initial_destination_concurrency = 20
> mailbox_command = /usr/bin/procmail

Are you sure you want this? Take it out if not.

> mailbox_size_limit = 821200000
> manpage_directory = /usr/share/man
> maximal_queue_lifetime = 2d
> message_size_limit = 50240000
> mime_header_checks = pcre:/etc/postfix/mime_header_checks
> mydestination = $myhostname, localhost.$mydomain

myhostname isn't set? Why not? Linuxen sometimes have problems in 
figuring out their hostname, and a setting as important as that needs 
to be explicitly set.

> mynetworks = 127.0.0.0/8, 192.168.1.0/24, 68.XXX.YYY.40/29,
> 64.XXX.YYY.0/27, 66.XXX.YYY.96/28, 204.XXX.YYY.0/24
> postscreen_access_list = permit_mynetworks,
> cidr:/etc/postfix/postscreen_access.cidr
> postscreen_blacklist_action = enforce
> postscreen_dnsbl_action = enforce
> postscreen_dnsbl_sites = zen.spamhaus.org*2   bl.spamcop.net*1
> b.barracudacentral.org*1
> postscreen_dnsbl_threshold = 2
> postscreen_greet_action = enforce
> rbl_reply_maps = ${stress?hash:/etc/postfix/rbl_reply_maps}
> readme_directory = /usr/share/doc/postfix-2.8.5/README_FILES
> relay_domains = $mydestination, $transport_maps

This is dangerous, in the case that you eventually need (or think you 
need) a special transport to an external domain. Oops, that domain is 
now in your relay_domains! Just unset this.

> sample_directory = /usr/share/doc/postfix-2.8.5/samples
> smtpd_authorized_xforward_hosts = $mynetworks
> smtpd_client_restrictions = check_client_access
> cidr:/etc/postfix/sinokorea.cidr, check_client_access
> cidr:/etc/postfix/asian-ip5.txt
> smtpd_recipient_restrictions = reject_non_fqdn_recipient,
> check_client_access hash:/etc/postfix/client_checks_special,
> check_sender_access hash:/etc/postfix/sender_checks_special,

Access lookups here before reject_unauth_destination are dangerous, 
because an OK/permit result allows relaying.

http://www.postfix.org/SMTPD_ACCESS_README.html#danger

> reject_non_fqdn_sender, permit_mynetworks,
> permit_sasl_authenticated, reject_unauth_destination,
> reject_unknown_sender_domain,
> reject_unknown_recipient_domain,
> reject_invalid_helo_hostname, check_recipient_access
> pcre:/etc/postfix/relay_recips_ecartis, check_client_access
> hash:/etc/postfix/client_checks, check_sender_access
> hash:/etc/postfix/sender_checks, check_recipient_access
> pcre:/etc/postfix/relay_recips_access, reject_rbl_client
> zen.spamhaus.org,     reject_rbl_client psbl.surriel.com, permit
> smtpd_sasl_auth_enable = yes
> smtpd_sasl_authenticated_header = yes
> smtpd_sasl_local_domain = $myhostname
> smtpd_sasl_path = private/auth
> smtpd_sasl_security_options = noanonymous, noplaintext
> smtpd_sasl_tls_security_options = noanonymous
> smtpd_sasl_type = dovecot
> smtpd_tls_auth_only = yes
> smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem
> smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem
> smtpd_tls_received_header = yes
> smtpd_tls_security_level = may
> smtpd_tls_session_cache_database =
> btree:/var/lib/postfix/smtpd_tls_session_cache
> smtp_send_xforward_command = yes

Why is this here? Generally this should only be set as an -o override 
setting in master.cf for a special smtp(8) transport(5), such as you 
did below for smtp-amavis. Take it out.


> smtp_tls_CAfile = /etc/pki/tls/cacert.pem
> smtp_use_tls = yes
> transport_maps = hash:/etc/postfix/transport

Again, you won't need this, take it out. This was what put your domain 
in relay_domains, and my solution of using user@localhost as virtual 
alias targets makes your transport hack unnecessary.

> virtual_alias_maps = hash:/etc/postfix/virtual
> 
> --master.cf--
> submission inet n       -       n       -       -       smtpd
>   -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
> dovecot   unix  -       n       n       -       -       pipe
>   flags=DRhu user=dovecot:dovecot argv=/usr/libexec/dovecot/deliver
> -f ${sender} -d ${recipient} -a "${RECIPIENT}"
> pickup    fifo  n       -       n       60      1       pickup
> cleanup   unix  n       -       n       -       0       cleanup
> qmgr      fifo  n       -       n       300     1       qmgr
> 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_fallback_relay=
> 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
> scache    unix  -       -       n       -       1       scache
> smtp-amavis unix    -       -       n       -       2     smtp
>     -o smtp_data_done_timeout=1200
>     -o smtp_send_xforward_command=yes
>     -o disable_dns_lookups=yes
>     -o max_use=20
> 127.0.0.1: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_header_body_checks,no_unknown_recipien
> t_checks,no_milters -o local_header_rewrite_clients=
> smtp      inet  n       -       n       -       1       postscreen
> smtpd     pass  -       -       n       -       -       smtpd
>       -o receive_override_options=no_address_mappings
> dnsblog   unix  -       -       n       -       0       dnsblog
> tlsproxy  unix  -       -       n       -       0       tlsproxy
> 
> -- end of postfinger output --

-- 
    Offlist mail to this address is discarded unless
    "/dev/rob0" or "not-spam" is in Subject: header

Reply via email to