Postfix 5.7.1 Unable to relay [deliver internal mail directly]
You should migrate sendmail's "direct delivery for other host in the same domain" hack to postfix. [You reported use of smart host in both configurations]
sendmail
sendmail.mc
LOCAL_NET_CONFIG
R$* < @ $* .$m. > $* $#smtp $@ $2.$m. $: $1 < @ $2.$m. > $3
postfix
master.cf
transport_maps = hash:/etc/postfix/transport
/etc/postfix/transport (requires compilation with postmap /etc/postfix/transport
)
my.domain :
http://www.postfix.org/postconf.5.html#transport_maps
http://www.postfix.org/transport.5.html
Related videos on Youtube
Chris
Updated on September 18, 2022Comments
-
Chris almost 2 years
I have the following scenario:
- serverA = RHEL5 using Sendmail
- serverB = RHEL6 using Postfix
- serverC = RHEL6 using Postfix
- gwsmtp = relayhost
- example.com = domain name
As we are migrating from sendmail to postfix we get some unable to relay errors.
To explain in detail:
- From serverA to serverB I can send an email with no problem
- From serverA to serverC I can send an email with no problem
- From serverB to ServerA I can not send an email
- From serverB to serverC I can not send an email
Sending an email from serverB to serverA I get the following bounce message
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)
I have the following main.cf config in use on serverB
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
And this is our sendmail makro on serverA
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
We try to have the same configuration in postfix as we have in sendmail. Any help would be greatly appreciated.
-
Chris almost 10 yearsI just solved it to only use relay host for certain domains and directly send the email for internal hostnames.
-
Chris almost 10 yearsThanks. I removed relayhost from the main.cfg and added an entry to the transport map. Everything should send directly except for the specified domain it should relay. That works perfectly. I will accept your answer.