Relay Messages to a specific address from Exchange to an internal SMTP server

Hi all,

First off, I am running Exchange 2010 on Windows 8 Server. I know this is for Exchange 2013, but there was not category for 2010. I assume the configuration should be similar in both. I have a separate AD machine and Exchange is on its own box.

Scenario:

There is an open-source ticketing system called Request Tracker. It's web based, but can use sendmail and postfix to send/recieve message to the ticketing system. One of the nice features is that, say I have an e-mail setup, "support@domain.com" and someone e-mails that, it can be fed into the ticketing system and auto-generate a ticket.

I have postfix on the Linux box running RT setup to send messages out to my Exchange users and external users. That works. I have Exchange setup with Send Connectors and Approved Domains to send message from Exchange to the Linux box running RT. That works just fine as well. Keep in mind my Exchange gets mail to my public domain (domain.com) and the Linux/RT box is internal only (ticket.domain.com).

Now my issue - I want to set up a few e-mail addresses on Exchange (it-support@domain.com, ops-support@domain.com, etc). I'd like to setup Exchange so that if mail comes into these addresses, it automatically relays the message to the Linux/postfix box running the ticketing system. I know I can forward messages in Exchange at the server level, but only to others in the Exchange users tree. Since this is a separate box and not part of Exchange, I can't forward to any e-mail address I wish (or to my knowledge, I can't - I could be wrong about that).

I don't really even want Exchange to keep the message, just pass it off to the other server. On the Linux server running postfix, I will have aliases setup to pass the message off to the ticketing system and from there, it's handles it. My issue it figuring out how to setup a public e-mail address on Exchange and have it relay/pass that message off to that SMTP server. I'm stumped. Any admins or folks out there with any ideas?

I have Send and Receive Connectors already established so I could get Exchange to talk with the Linux/Postfix box. I don't want the Linux box with the ticketing system opened up to the world, I want to keep it on the internal network, but I do need people from outside of our domain to be able to e-mail and submit tickets. I was thinking having Exchange relay these message from a public e-mail was the easiest thing, but if there are other suggestions, let me know. There are methods where people have used fetchmail on the ticketing system, but I was hoping to not have to maintain an inbox on the Exchange server for these types of e-mails. Thanks so much!!

cabradbury

February 19th, 2014 4:32pm

I think the part you're missing is that you need an e-mail domain for this to work.  Use an e-mail domain of ticket.domain.com for mail to the ticketing system.  Create an accepted domain "ticket.domain.com" of type InternalRelay.  Then create a new (or modify an existing) send connector with AddressSpaces of "SMTP:ticket.domain.com;1" and SmartHosts of ticket.domain.com.  After doing that, any mail received for anything@ticket.domain.com will route to the ticketing system.  No special receive connector is required.
Free Windows Admin Tool Kit Click here and download it now
February 19th, 2014 4:49pm

Ed,

I forgot to mention - yes, I do have an accepted domain listed and that stuff routing that way. So, for right now, I can open Outlook (which is linked to my @domain.com) e-mail and send an e-mail, say, to "root@ticket.domain.com". So, I already have that working because my internal exchange knows that subdomain - "ticket.domain.com".

However, now let's say I am John Smith that is a client or a customer and I am sending an e-mail in for support from my gmail account. I can't send it to "support@ticket.domain.com" because the internet doesn't know where "ticket.domain.com" is, as this server is internal.

So, I figured if I could set up "support@domain.com" and when those come into Exchange have them routed to "support@ticket.domain.com". But, I only want to route mail to that SMTP server for that one address, not exchange in general. Is that possible?

Charles

February 19th, 2014 7:56pm

Oh, I see.  You'll need a receive connector that's a relay connector.  I would lock that receive connector down by Set-ReceiveConnector -RemoteIpRanges so that only the sources you want can send to it.

http://technet.microsoft.com/en-us/library/bb232021(v=exchg.141).aspx

This way you don't have to define any con

Free Windows Admin Tool Kit Click here and download it now
February 19th, 2014 8:20pm

Ed,

Ok, I think I understand that - but how does this restrict it for a specific e-mail address in Exchange? How does exchange know to relay this for just that one e-mail addresses and not every e-mail that comes in to the server? How does it know to only do this for just e-mails coming into support@domain.com and not any of the others?

Charles

February 20th, 2014 1:40pm

Ed,

 I figured this out - basically what I needed to do is create a Mail Contact that is directed toward the external e-mail address (the one on the internal box running postfix). I excluded it from the Exchange GAL. Then I created a mailbox for the public domain: support@domain.com and forwarded it to the Mail Contact, thus it comes into the mailbox, forwards to the mail contact which is directed to an external e-mail. This worked just fine, it just took me a while to figure it out.

I still had to have Send and Receive Connectors setup so Exchange knew about about that internal SMTP server/domain, but that was fairly straight forward.

Now, both internal and external people can e-mail the support@domain.com and it will be directed to the other internal SMTP server. Just wanted to share my solution, in case others are looking for a solution to this.

Free Windows Admin Tool Kit Click here and download it now
February 21st, 2014 12:31pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics