• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2828
  • Last Modified:

How to setup a Postfix server to forward to Exchange server

I have already asked this but I still cannot get it to work.  What Im trying to do is forward alerts from my nagios server to my exchange server.  The Nagios server has postfix installed and configured but I keep getting this message when sending

<cjameson@exchange.domainserver.net>: host[] said:
    550 5.7.1 Unable to relay (in reply to RCPT TO command)

I followed these steps

But I still cannot get a relay setup correctly for some reason.  Can anyone give me a headsup as to what I may be doing wrong?
  • 4
  • 3
  • 2
  • +2
1 Solution
How is postfix configured? Please post output of "postconf -n"

Have you tried setting postfix to behave as a simple client?


cjameson74Author Commented:
No I havent tried setting it as a client, but here are the results of the conf file.  I have tried to telnet to the exchange server and send a test email msg and that went thru....its only when im using mailx it gets bounced

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
default_transport = error
local_recipient_maps =
mailbox_size_limit = 0
mydestination = Monitor.DomainServer.net, localhost.DomainServer.net, localhost
myhostname = Monitor.DomainServer.net
mynetworks =
myorigin = domainserver.net
readme_directory = no
recipient_delimiter = +
relay_domains = domainserver.net
relay_transport = error
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = no
transport_maps = hash:/etc/postfix/transport
in your transport file, make sure you the the following line:

exchange.domainserver.net:   smtp:[ip address of your exchange server]
Creating Active Directory Users from a Text File

If your organization has a need to mass-create AD user accounts, watch this video to see how its done without the need for scripting or other unnecessary complexities.

Jon BrelieSystem ArchitectCommented:
Also, run the following from your postfix server and post the results (replace italicized text with valid info):
telnet YourExchangeServer 25
helo PostfixServer
mail from: root@PostFixServer
rcpt to: YourExternal@EmailAddress.com (like gmail or yahoo)
From: Root
To: You
Subject: Testing Relay
message content

Make sure you don't miss that last line.  (single period)

If you receive the message at your external address, then relaying is working fine and it is a postfix issue.  Otherwise it should give you an error.

Jon BrelieSystem ArchitectCommented:
Oh... typing too slow.

Here's a thought... do you have an MX record setup for your domain internally?   If postfix is trying to use your public MX, that might be the problem.
cjameson74Author Commented:
I have the transport file configured like that already....
Telnet is working just fine
I received the email so it must be something else in postfix config
cjameson74Author Commented:
No the MX record is at our hosted site.  
Jon BrelieSystem ArchitectCommented:
Or just tell your postfix install to use your exchange server as a smarthost:


restart postfix

More info from main.cf:

# The relayhost parameter specifies the default host to send mail to
# when no entry is matched in the optional transport(5) table. When
# no relayhost is given, mail is routed directly to the destination.
# On an intranet, specify the organizational domain name. If your
# internal DNS uses no MX records, specify the name of the intranet
# gateway host instead.
# In the case of SMTP, specify a domain, host, host:port, [host]:port,
# [address] or [address]:port; the form [host] turns off MX lookups.
# If you're connected via UUCP, see also the default_transport parameter.
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
cjameson74Author Commented:
Just for reference
I did get a reply here on exchange

root@Monitor:/etc/postfix# telnet exchange.domainserver.net 25
Connected to exchange.domainserver.net.
Escape character is '^]'.
220 exchange.DomainServer.net Microsoft ESMTP MAIL Service ready at Tue, 14 Sep 2010 14:24:55 -0500
250 exchange.DomainServer.net Hello []
mail from:root@monitor.domainserver.net
250 2.1.0 Sender OK
rcpt to:cjameson@americanriskins.com
250 2.1.5 Recipient OK
354 Start mail input; end with <CRLF>.<CRLF>
Testing relay
250 2.6.0 <a9c76d0e-9ef5-4f64-9e19-b2a94e1eebeb@exchange.DomainServer.net> Queued mail for delivery
You need the following (2) entries on your transport file:

.domainserver.net:   smtp:[ip address of your exchange server]
domainserver.net:   smtp:[ip address of your exchange server]

dont forget to postmap that transport file, restart postfix and try again.
It's been 4 days, how did it go?
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 4
  • 3
  • 2
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now