MSExchangeRelay

From Request Tracker Wiki
Jump to navigation Jump to search

There are 4 possible approaches to setting up RT to receive mail from your Microsoft Exchange 2000 server, when Exchange is your primary mail server:

  1. set up a subdomain for RT and forward all email address for that subdomain to the RT server. Ie, if your email address is username@company.com, you would have @rt.company.com for all RT addresses, and Exchange would relay anything to @rt.company.com to the RT server.
  2. Using the same domain (company.com) setup addresses for RT (rt@company.com, rt-comments@company.com, rt-correspondence@company.com) and have exchange send those addresses to the RT server.

This won't work with Exchange 2007 as MS has replaced the SMTP Connector functionality with Send Connectors, that you cannot longer restrict to be used only with specific email.

  1. Create user accounts on the Exchange server and have RT use fetchmail to periodically download new messages from pop3 mailboxes.
  2. Create user accounts on the Exchange server and have it forward to a completely new domain handled by the sendmail server on the RT server (rt-corresponce@company.com is forwarded by Exchange to rt-correspondence@tracking.local whose mx record points to the RT server).

More on Scenario 2:

Scenario 2 can be accomplished on the Exchange Server using SMTP connectors. Here is a good primer on SMTP connectors: http://www.msexchange.org/tutorials/Configuring-SMTP-Connector.html

It looks like what you'll have to do is create Contacts in Active Directory for each email address you want to be sent to RT. Give it a first and last name as you want it to show up in the Global Address List. Give it an SMTP address as the address in your companies domain that would normally be handled by this Exchange server (eg. rt@company.com). Even though such an address would normally be created as a user account with a mailbox created on the Exchange server, you want to create a contact and then use an SMTP connector to send email for this address to the RT server.

Now, open the Exchange System Manager and drill down thru Administrative Groups > First Administrative Group > Routing Groups > First Routing Group > Connectors. Under Connectors, you will right click and choose New > SMTP Connector. The options you need to set are: give it a name, use the RT server as a Smarthost, add your Exchange server as a bridgehead, add your email domain (company.com) as the address space, then under Restrictions set it to deny by default and then add those Contacts you created as the allowed exceptions.

This seems to be working, and has not caused any issues, but I have not figured out what I need to do on the RT server to get it to accept email (using CentOS 4.3). ... Well, I've set it up how it looks like it should work on the RT server, but I'm still getting messages from Exchange saying messages to the RT email address is bouncing between servers. Apparently the problem is getting the RT server to accept messages for RT on the local server, but use the Exchange server as a smarthost for all other addresses, including other addresses on the local domain. If Sendmail had options similar to the SMTP Connectors in Exchange, then this would be do-able.

>>This is doable through mailertable and virtusertable:

mailertable: domain.com esmtp:[x.x.x.x]

virtusertable: rt@domain.com rt rt-comment@domain.com rt-comment

Don't put domain.com in local-host-names <<

Relaying mail from Microsoft Exchange 2007 to RT :