Postfix 5.7.1无法中继

我有以下情况:

  • serverA =使用Sendmail的RHEL5
  • serverB =使用Postfix的RHEL6
  • serverC =使用Postfix的RHEL6
  • gwsmtp = relayhost
  • example.com =域名

当我们从sendmail迁移到postfix时,我们会遇到一些无法转发错误的情况。

详细解释一下:

  • 从serverA到serverB,我可以发送没有问题的电子邮件
  • 从serverA到serverC,我可以发送没有问题的电子邮件
  • 从serverB到ServerA我无法发送电子邮件
  • 从serverB到serverC我无法发送电子邮件

从serverB发送电子邮件到serverA我得到以下反弹消息

From MAILER-DAEMON Tue Jul 22 10:45:24 2014 Return-Path: <> X-Original-To: [email protected] Delivered-To: [email protected] Date: Tue, 22 Jul 2014 10:45:24 +0200 (CEST) From: [email protected] (Mail Delivery System) Subject: Undelivered Mail Returned to Sender To: [email protected] Auto-Submitted: auto-replied Content-Type: multipart/report; report-type=delivery-status; boundary="AF55F20DAA.1406018724/serverB" Status: R Part 1: Content-Description: Notification Content-Type: text/plain; charset=us-ascii This is the mail system at host serverB. I'm sorry to have to inform you that your message could not be delivered to one or more recipients. It's attached below. For further assistance, please send mail to postmaster. If you do so, please include this problem report. You can delete your own text from the attached returned message. The mail system <[email protected]>: host gwsmtp.example.com[10.39.40.164] said: 550 5.7.1 Unable to relay (in reply to RCPT TO command) Part 2: Content-Description: Delivery report Content-Type: message/delivery-status Part 3: Content-Description: Undelivered Message Content-Type: message/rfc822 From [email protected] Tue Jul 22 10:45:09 2014 Return-Path: <[email protected]> Date: Tue, 22 Jul 2014 10:45:09 +0200 To: [email protected] Subject: test User-Agent: Heirloom mailx 12.4 7/29/08 Content-Type: text/plain; charset=us-ascii From: [email protected] (root) 

我在serverB上使用了以下main.cfconfiguration

 mydomain = example.com myhostname = serverB myorigin = $myhostname inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost, $myhostname.$mydomain, hpmedtsa, hpmedtsa.$mydomain relayhost = gwsmtp.$mydomain queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix mail_owner = postfix inet_protocols = all alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix-2.6.6/samples readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES transport_maps = hash:/etc/postfix/transport 

这是我们在serverA上的sendmail makro

 divert(-1)dnl include(`/usr/share/sendmail-cf/m4/cf.m4')dnl VERSIONID(`setup for Red Hat Linux')dnl OSTYPE(`linux')dnl define(`SMART_HOST',`gwsmtp.example.com')dnl LOCAL_NET_CONFIG R$* < @ $* .$m. > $* $#smtp $@ $2.$m. $: $1 < @ $2.$m. > $3 define(`confDEF_USER_ID',``8:12'')dnl define(`confTO_CONNECT', `1m')dnl define(`confTRY_NULL_MX_LIST',true)dnl define(`confDONT_PROBE_INTERFACES',true)dnl define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl define(`ALIAS_FILE', `/etc/aliases')dnl define(`STATUS_FILE', `/var/log/mail/statistics')dnl define(`UUCP_MAILER_MAX', `2000000')dnl define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl define(`confAUTH_OPTIONS', `A')dnl define(`confTO_IDENT', `0')dnl FEATURE(`no_default_msa',`dnl')dnl FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl FEATURE(redirect)dnl FEATURE(always_add_domain)dnl FEATURE(use_cw_file)dnl FEATURE(use_ct_file)dnl FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl FEATURE(`access_db',`hash -T<TMPF> -o /etc/mail/access.db')dnl FEATURE(`blacklist_recipients')dnl EXPOSED_USER(`root')dnl DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl FEATURE(`accept_unresolvable_domains')dnl LOCAL_DOMAIN(`localhost.localdomain')dnl MAILER(smtp)dnl MAILER(procmail)dnl 

我们尝试在sendmail中使用与postfix相同的configuration。 任何帮助将不胜感激。

你应该迁移sendmail的“直接交付给同一个域中的其他主机”hack到postfix。 [您在两种configuration中报告使用智能主机]


发送邮件

sendmail.mc

 LOCAL_NET_CONFIG R$* < @ $* .$m. > $* $#smtp $@ $2.$m. $: $1 < @ $2.$m. > $3 

后缀

master.cf

 transport_maps = hash:/etc/postfix/transport 

/ etc / postfix / transport(需要编译postmap /etc/postfix/transport

 my.domain : 

http://www.postfix.org/postconf.5.html#transport_maps
http://www.postfix.org/transport.5.html