On 21 Nov 2009, at 10:58, mouss wrote: > Sean Holdsworth a écrit : >> [snip] >> >> If I allow that address rewite then mail for p...@domain or p...@domain will >> get >> sent on to the MTA with an envelope recipient address of catch...@domain >> rather than their original recipient address. >> >> I've tried various work arounds without success. The one that seems most >> natural, but which DOES NOT WORK, is the following: >> >> virtual_aliases: >> p...@domain @domain p...@domain >> p...@domain @domain p...@domain >> >> This results in mail for either address only arriving in their own mailbox. >> >> Is there another approach to this that I'm missing? >> > > you want smtp_generic_maps.
Sorry but having reread the address rewrite documentation several times, I don't understand how smtp_generic maps would help in this case. To restate the problem, I'm trying to figure out a way of doing the following deliveries: @domain => smtp:[MTA] p...@domain => B, smtp:[MTA] p...@domain => C, smtp:[MTA] (where domain is a virtual domain, B and C are virtual mailboxes and MTA is another Postfix server. I have the following configuration in place: virtual_alias_maps = hash:virtual_aliases virtual_mailbox_maps = hash:virtual_mailbox_recipients transport_maps = hash:transport virtual_aliases: p...@domain p...@domain catch...@domain p...@domain p...@domain catch...@domain virtual_mailbox_recipients: @domain OK p...@domain B p...@domain C transport: domain smtp:[MTA] p...@domain virtual p...@domain virtual I think I understand the purpose of smtp_generic_maps to do rewrite of both envelope and header addresses for smtp deliveries, but I can't see how that would help in this case. What would I have as my LHS in such a mapping? If I add the following configuration: smtp_generic_maps = hash:generic_aliases what would my generic_aliases file look like? If I have catch...@domain as my LHS then I've lost the information about which of p...@domain or p...@domain that I need to rewrite to, or am I missing the point? Alternatively I've played around with using the @domain format in the virtual_aliases and using that as the RHS of the generic_aliases file, but that results in just a single virtual mailbox delivery and nothing being sent over the smtp transport. For completeness, here's the output of postconf -n address_verify_map = btree:/var/mta/verify address_verify_sender = postmas...@mydomain.net address_verify_transport_maps = hash:/etc/postfix/verify_transport alias_maps = hash:/etc/aliases append_dot_mydomain = no biff = no config_directory = /etc/postfix default_process_limit = 500 disable_vrfy_command = yes header_checks = regexp:/etc/postfix/header_checks html_directory = /usr/share/doc/postfix/html inet_interfaces = all maps_rbl_reject_code = 554 message_size_limit = 40960000 myhostname = mx.mydomain.net mynetworks = 127.0.0.0/8 10.0.1.0/24 readme_directory = /usr/share/doc/postfix relay_domains = /etc/postfix/relay_domains relayhost = smtp_generic_maps = hash:/etc/postfix/generic_maps smtpd_banner = $myhostname ESMTP smtpd_client_connection_rate_limit = 60 smtpd_client_message_rate_limit = 60 smtpd_client_recipient_rate_limit = 60 smtpd_client_restrictions = permit_mynetworks check_recipient_access hash:/etc/postfix/nofilter_domains reject_rbl_client bl.spamcop.net reject_rbl_client sbl-xbl.spamhaus.org check_client_access hash:/etc/postfix/known_clients check_client_access hash:/etc/postfix/blacklist check_client_access hash:/etc/postfix/whitelist reject_unknown_reverse_client_hostname check_client_access cidr:/etc/postfix/spam_ranges check_client_access regexp:/etc/postfix/spam_domains smtpd_data_restrictions = reject_unauth_pipelining smtpd_delay_reject = yes smtpd_discard_ehlo_keywords = silent-discard, dsn smtpd_error_sleep_time = 10s smtpd_helo_required = yes smtpd_helo_restrictions = check_recipient_access hash:/etc/postfix/nofilter_domains reject_invalid_hostname check_helo_access regexp:/etc/postfix/helo_restrictions reject_non_fqdn_hostname smtpd_recipient_restrictions = reject_non_fqdn_recipient reject_invalid_hostname reject_unauth_destination check_recipient_access hash:/etc/postfix/recipient_restrictions check_recipient_access hash:/etc/postfix/recipient_access check_recipient_access hash:/etc/postfix/fallback_domain_access check_recipient_access hash:/etc/postfix/nofilter_domains check_recipient_access hash:/etc/postfix/spammed_addresses check_policy_service inet:192.168.25.1:60000 smtpd_restriction_classes = check_if_from_hsbc.co.uk check_if_from_hsbc.com check_if_from_halifax check_if_from_lloydstsb.co.uk check_if_from_lloydstsb.com check_if_from_barclays.co.uk check_if_from_abbey check_if_from_citibank.co.uk check_if_from_paypal check_if_from_egg check_if_from_natwest check_if_from_rbs check_if_from_cooperative check_if_from_alliance most_spammed_addresses smtpd_sender_restrictions = reject_non_fqdn_sender check_recipient_access hash:/etc/postfix/nofilter_domains reject_unknown_sender_domain check_sender_access hash:/etc/postfix/sender_restrictions check_sender_mx_access cidr:/etc/postfix/bogon_networks.cidr check_client_access hash:/etc/postfix/broken_dns_clients check_client_access regexp:/etc/postfix/forwarders check_sender_access hash:/etc/postfix/sender_access check_sender_access regexp:/etc/postfix/spammer_addresses smtpd_soft_error_limit = 2 strict_rfc821_envelopes = yes transport_maps = hash:/etc/postfix/transport unverified_recipient_reject_code = 550 virtual_alias_maps = hash:/etc/postfix/virtual_aliases virtual_gid_maps = static:109 virtual_mailbox_base = /raid/popboxes virtual_mailbox_domains = /etc/postfix/virtual_mailbox_domains virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox_recipients virtual_uid_maps = static:1010