1

I work for a small company that has a simple customer service system. We have a single email address, support@mycompany.com, and a program that forwards that mail on depending on the inbound address. For instance, If we have two employees, Adam and Ben, they each have an email address, adam@mycompany.com and ben@mycompany.com. Adam has certain clients he deals with, ben has certain clients he deals with, and any emails from unknown addresses goes to a newsupport@mycompany.com address.

This side of things works fine. However, when they reply to a customer, the customer sees a return email from adam@mycompany.com rather than support@mycompany.com. This is what I want to fix.

What possible solutions are there, without touching the mail clients of Adam or Ben? Is it possible to do something to the emails at the point when my program routes them from the support mailbox to one of the individual mail boxes? Is there any kind of header parameter, or similar, that might allow this?

I thought about setting the return address so that the incoming address is masked from adam or ben: so that when they reply, it sends a mail to outbound@mycompany.com, and then by keeping track of conversations and so on I could forward the mail on to the correct recipient... but this seems needlessly complicated. Is there a better solution?

Oliver
  • 125
  • 6

3 Answers3

1

If Adam and Ben always send replies via your mail submission server, you could just rewrite the sender address there before relaying to the client.

If Adam or Ben use their own outgoing SMTP server to send replies, you have more trouble. Your best bet in that case would be to use something along the lines of SRS to rewrite the sender's address before forwarding on to Adam or Ben. Then when Adam or Ben replies it will come into your system, at which point you can un-SRS and rewrite the sender to support@mycompany.com before forwarding it on to the client's actual address.

  • This looks handy. If I rewrite using the syntax of SRS, will the emails appear in the email client as if they came from the original sender? I'd like this system to be transparent to the user, if possible - so that the staff only see the sender/reply address as being our servers if they take a look at the email source, rather than this being directly present in their client. – Oliver Sep 28 '11 at 16:16
  • @Oliver: Your staff would see the rewritten address. –  Sep 28 '11 at 19:36
0

Maybe set the "Reply to:" mail header line ?

wildplasser
  • 111
  • 2
  • I don't think this would work (assuming I'm understanding correctly.) If I changed the `reply-to` field, the mail that Adam or Ben replied to would be sent to that address. However, the receiver would still see the mail as coming from `Adam@mycompany.com`/`ben@mycompany.com` rather than `support@mycompany.com`. I can't change the reply-to address at the point where the support staff receive the mail, only at the point where the mail lands in the `support@mycompany.com` inbox (as it is being forwarded on). – Oliver Sep 26 '11 at 09:11
  • No, I mean that Adam and Ben should set the reply-to header. (or some mailhandler between them and the final recipient could rewrite the headers) Your last option (forcing A&B to reply to outbound@mycompany.com) seems cleaner. –  Sep 26 '11 at 09:31
0

There's a standard called Sender Rewriting Scheme (SRS) that does something similar in the context of Sender Policy Framework (SPF), which performs authentication of the domain name of the sender.

However, for practical purposes, what you want to do, together with your requirements of not having to modify the settings on the Mail User Agent side, have limited utility — if you rewrite every single email from any employee to have a support@ prefix, then this kind of defeats the purpose of them not simply configuring their clients to have support@ as the outgoing email.

The best solution would be to use the alias features of the email clients, such that the MUA could automatically use the support@example.com email address if it sees that the email was originally sent to support@example.com instead of personally to any individual employee. This feature is called alternates in mutt, for example.

cnst
  • 13,848
  • 9
  • 54
  • 76