On Sun, 22 Mar 2009, Stephen Rodgers wrote:

> I'm having some difficulty getting mailman to work with virtual
> addresses under postfix. Posts to my test domain: mail...@ohnosec.org
> are bounced and when I go in to /var/log/maillog to see why, postfix is
> converting the address to mail...@sh.qrvc.com. sh.qrvc.com is the host
> name of the host running postfix and mailman and handling the test
> domain ohnosec.org. In other words, it is intended to host virtual
> domain ohnosec.org for use by mailman.
> 
> In /var/log/maillog there is one puzzling entry:

Not puzzling at all!
 
> Mar 21 23:46:39 sh postfix/smtp[18702]: B6694A817F:
> to=<mail...@sh.qrvc.com>, orig_to=<mail...@ohnosec.org>, relay=none,
> delay=0.3, delays=0.22/0.01/0.07/0, dsn=5.4.6, status=bounced (mail for
> sh.qrvc.com loops back to myself)

Your virtual_alias_maps entry directs mail for mail...@ohnosec.org ->
mail...@sh.qrvc.com.  Because you exclude this domain from $mydestination,
Postfix does not accept mail for it, and the message loops.
 
> The orig_to entry is particularly concerning.

Not at all; it makes sense based on your configuration.

> I don't need to handle mail for domain sh.qrvc.com even though that is
> the DNS host name for the host running Postfix.  I would like to
> understand why postfix is changing the domain from ohnosec.com to
> sh.qrvc.com given my configuration, and the complete maillog
> of the transaction posted below in this message.

Because mail...@ohnosec.org points to 'mailman', and the result of a
virtual(5) mapping is subject to address rewriting.  Specifically, when
'append_at_myorigin=yes', Postfix appends '@$myorigin' to addresses without
'@domain'.  All of this is documented in the virtual(5) man page.  And
because '$myorigin=$myhostname' by default, your alias to 'mailman' is
rewritten to 'mail...@sh.qrvc.com'.

> *** postconf -n ***
> 
> [r...@sh ~]# postconf -n
> alias_database = hash:/etc/aliases
> alias_maps = hash:/etc/aliases, hash:/etc/mailman/aliases
> command_directory = /usr/sbin
> config_directory = /etc/postfix
> daemon_directory = /usr/libexec/postfix
> debug_peer_level = 2
> debug_peer_list = 68.99.120.0/24
> html_directory = no
> inet_interfaces = all
> mail_owner = postfix
> mailq_path = /usr/bin/mailq.postfix
> manpage_directory = /usr/share/man
> mydestination =
> mydomain = qrvc.com
> myhostname = sh.qrvc.com
> newaliases_path = /usr/bin/newaliases.postfix
> queue_directory = /var/spool/postfix
> readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES
> recipient_delimiter = +
> sample_directory = /usr/share/doc/postfix-2.3.3/samples
> sendmail_path = /usr/sbin/sendmail.postfix
> setgid_group = postdrop
> unknown_local_recipient_reject_code = 550
> virtual_alias_domains = ohnosec.org,limeylinux.org
> virtual_alias_maps =
> hash:/etc/postfix/virtual,hash:/etc/mailman/virtual-mailman
> 
> *** /var/log/maillog with peer debug enabled ***

Please don't provide verbose/debug logging unless specifically requested.

[...]

> Mar 21 23:46:38 sh postfix/smtpd[18697]: maps_find: virtual_alias_maps:
> hash:/etc/mailman/virtual-mailman(0,lock|fold_fix): mail...@ohnosec.org
> = mailman
> Mar 21 23:46:38 sh postfix/smtpd[18697]: mail_addr_find:
> mail...@ohnosec.org -> mailman

-- 
Sahil Tandon <sa...@tandon.net>

Reply via email to