On 2/3/11 9:18 AM, l...@ds.gauner.org wrote:
l...@ds.gauner.org:
I've configured recipient_bcc_maps to capture outgoing mail to some
domains to debug delivery issues, i.e. some senders can't send mails to
yahoo and yahoo wants the full body. So I thought I could just capture
these mails using recipient_bcc_maps and later forward them to yahoo.
I've double checked the path and type of the maps and ran postmap after
each modicication.
The problem is that recipient_bcc_maps seems to have no effect on the
system under investigation. On other mailservers it does work very
well.
The most notable difference between this mailserver and other I have
tested is that this one uses several outgoing IPs via multiple
transports
in the master.cf and a "FILTER transportX:" rule in
check_recipient_access. Maybe this interferes with recipient_bcc_maps
or I've forgot something else.
Please follow instructions in the mailing list welcome message:
TO REPORT A PROBLEM see http://www.postfix.org/DEBUG_README.html#mail
I'm sorry. Below is the information you requested. I've seen no traces in
the logs, so I've omited them for now.

Sadly, the LOGS are the most essential part of the information you could provide. Be sure to include as much of one or two messages as possible, from the point they enter the postfix system until they exit.

  If you like I can supply them
later.

We are using Postfix 2.7.1 from Debian squeeze.

Below is the output from postconf -n, 'egrep -v "^#"
/etc/postfix/master.cf | egrep -v "^$"' and the relevant maps.

--- main.cf: ---
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
debug_peer_list = 127.0.0.1
header_checks = pcre:/etc/postfix/header-checks.pcre
inet_interfaces = all
mydestination = mailout-X, mailout-X.domain.tld, localhost
myhostname = mailout-X.domain.tld
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/16
myorigin = /etc/mailname
readme_directory = no
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_recipient_restrictions = check_recipient_access
pcre:/etc/postfix/random-recipient.pcre, check_sender_access
pcre:/etc/postfix/random-sender.pcre,
permit_mynetworks,reject_unauth_destination
smtpd_use_tls = no
recipient_bcc_maps = hash:/etc/postfix/recipient_bcc
--- end of main.cf ---

--- /etc/postfix/recipient_bcc ---
@yahoo.com      archive@mailout-X
@yahoo.co.uk    archive@mailout-X
@yahoo.de       archive@mailout-X
--- end of /etc/postfix/recipient_bcc ---

--- /etc/postfix/random-recipient.pcre ---
/^([a-z0-9])(.*)@(.*)/  FILTER  smtpout$1:

This seems unfortunate.
Dividing work over multiple files/directories/processes usually works best when you start at the most-significant end of the data, but email addresses aren't divided evenly across the possibilities. The first letter of email addresses will follow the normal incidence of letter occurence, with a strong bias towards e, r, s, n etc (in English, anyway).

A number as the first character of an address will be rare verging on non-occurring; this means up to 25% of these outputs will be used less than 1% of the time, making it an unbalanced load balancing mechanism.

I would look into some sort of hashing method instead.


--
J.

Reply via email to