This behaviour is by design in RT (and pretty much all ticket systems) to ensure that all correspondence only goes back to the ticket and not to individual inboxes, as this is the point of a ticket system where a team can all see and respond to tickets in queues etc.
The only possible exception I can think of is a configuration where all email addresses for techs also goes to the ticketer, and they have no separate inboxes - everything will go to RT in any event.
For the email gateway, headers should look like:-
From: Joe User via RT <support@example.com>
(If by “Real Name Field via RT” with no email to route to" you mean there is no email address there, then something is broken with your RT setup, because there should always be an email address in the From: header.)
You need to be extremely careful if you set the From: header to ensure it only gets applied for your internal users/techs and you do not “forge” the From: header for any external domains - this will not go well and emails will likely get rejected due to anti-spoofing/SPF policies etc.
That said, if you really want to do it, you can just modify the Correspondence template (or whatever template is set for your Scrip, usually “On Correspond Notify Requestors and Ccs” and/or “On Correspond Notify Other Recipients”. UseActorAsSender - Request Tracker Wiki gives a little example of how to modify the From: header. Not too difficult to modify it.
Template:
This sets the email address to either the queue’s address, say, “support@example.com” or “support-comment@example.com” if it’s a comment sent only internally. This should mirror the default behaviour. Then, only if the user updating the ticket email address ends example.com, set their email address.
This goes at the top of the template, note the blank line between the headers and the message body.
From: {
my $u = $Transaction->CreatorObj;
my $txn_email = $u->EmailAddress;
my $email = $Ticket->QueueObj->CorrespondAddress;
$email = $Ticket->QueueObj->CommentAddress if ( $Transaction->Type eq 'Comment' );
$email = $txn_email if ($txn_email=~ /\@example.com$/);
my $res = $u->RealName || $u->Name;
$res .= " via RT" . " <" . $email .">" ;
$res; }
RT-Attach-Message: yes
{$Transaction->Content()}
Looks like RT adds a “Reply-To:” header to the queue address in any case, so users hitting reply will go back to the queue address. You could also set that if you want to.
There are other ways you could decide when it’s an internal user, for example if the user a member of a particular admins or staff group.