Link to home
Start Free TrialLog in
Avatar of clockwatcher
clockwatcher

asked on

Rewrite envelope recipient for non-local mail

This seems like it should be an easy question, but I've been looking for a while and haven't had much luck.

I'd like to rewrite the recipient for particular addresses (not domain-wide) that goes through my sendmail box.  Basically, I want the same type of functionality that aliases provides but for non-local accounts.  Is it possible to do this?  If so, what do I need to do to get it set up.

For example, the machine mail.xyz.com is a relay for the domain abc.com.  I want any email sent to joe.user@abc.com that goes through that box to end up at joe.user@gmail.com.  But, I want it specific for just joe.user@abc.com... email sent to jill.user@abc.com should go through as normal.

I've got this entry in virtusertable:

      joe.user@abc.com    joe.user@gmail.com

And it has no effect, I'm guessing because abc.com is an entry in relay-domain and in mailertable.  I don't want to (and can't) use virtusertable to map the entire domain to something else to get rid of the relay entry:

   @abc.com  to   @internal.abc.com

Because the end box mail.abc.com (an Exchange 5.5 box internal to our network) isn't set up to handle addressing that way and that isn't open to change for the minor problem of forwarding email for a few users.  The Exchange box also answers the question why I don't simply add an alias on the local server to forward the mail once it ultimately gets home--  Exchange doesn't support aliases.
Avatar of PsiCop
PsiCop
Flag of United States of America image

You probably need to use the genericstable functionality. See this PAQ --> https://www.experts-exchange.com/questions/21322113/Practical-Modern-Sendmail-Configuration-Info-Question.html
Avatar of clockwatcher
clockwatcher

ASKER

I looked into it earlier and everything I found regarding it (including the link you posted) seems to indicate it rewrites the from (sender).  I need to rewrite the recipient.   Does it work for either?
SOLUTION
Avatar of PsiCop
PsiCop
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial

But, abc.com isn't local (virtual or not) and I don't want it to be.   I need the email to be relayed on to the real server and I can't rewrite it to something like downstream.abc.com because the box that's downstream can't be modified (not under my control) to accept addresses like that.

This box is a MailScanner.  It sits outside our firewall, intercepts and then forwards email destined for our real server (an exchange box) to it.  The MX record for our domain points to it.  It then uses mailertable with a forced IP to relay the email into our real box.

mailtertable
--------------
abc.com    smtp:[aaa.bbb.ccc.ddd]

I don't believe I can set up a virtual domain because I need the email forwarded on with the domain name left untouched to the home server.   Can someone explain how I can get that to work with virtusertable?

It really looks like it'd be easy to add with a custom rewrite LOCAL_RULE_0 but I'm not sure if I really want to mess with raw rewrite rules.
I'm probably just misunderstanding it and I can add an entry for abc.com to virtual-domain and be fine.  But, before I do that I just want to be 100% sure that abc.com will still end up being handled by mailertable.  We get a lot of email and I don't have a test box to play with this... I'd prefer not to get chewed a new one for bringing down the mail system for our entire company (even for the fifteen minutes or so it takes to test it) just to forward email for a few pain in the ass users (no matter how important they are).
Okay... I registered a test domain to run through that server and added a VIRTUAL_DOMAIN macro to my config file.  Everything's working great.   The addresses I don't have in virtusertable get relayed correctly and the ones I do have in there get forwarded over to gmail.

For whatever reason I can't get a message sent from my gmail account to a virtuser address that maps back to the sending gmail account.  Sent from a different gmail account to the forwarded address ends up getting forwarded fine.  They'll just have to live without being able to send email from their gmail accounts to their own address here and expecting to have it forwarded back to them.  Not gonna rewrite the from just to take care of that.

Thank you both very much for your help.