You are conflating a couple of concepts, specifically whether you are
using your local network or a foreign network.
I come from the Public Access Unix world.
There is a system file /etc/passwd with the most basic information
about each user. For this purpose, the fields are login name (user)
and comment. Traditionally, the login name is also used as the left-hand
side of the name of the mailbox. Traditionally, the comment is the user's
full name. Why is this a comment? Because in forming the From header,
it has two fields, the mailbox and the comment. Your full name on From
appears in the comment.
It's a comment, so any text that complies with syntax is allowed.
Environment variables are set based on the information in these fields.
Also, the user has a .profile in which he sets variables. Depending on
the shell, the variables are the exported into the environment. The
"export" command is after the list of variables. For a variable to be
exported into the environment, it must be set in the list and its name
must be included in the export command. These things can be run during
the session from the shell but won't be available at the start of the
next session if not listed in .profile. If USERNAME is set here and
exported into the environment, then a client running in the shell that
uses the USERNAME variable now has it available. Otherwise it defaults
to whatever is in the comment field in /etc/passwd.
If I am running my newsreader from the shell, then I'm already logged in
and the way these variables are set informs the newsreader how to form
From. If the News server were running on my network, then I'm already
logged in and the server is already using my login credentials.
But we don't have shell accounts on Ray's network, do we. So we have to
save the credentials we use to authenticate into Ray's network in the
newsreader Usenet client. The only thing our credentials give us access
to are specific functions with regard to the News server. We are
specifically NOT running the Usenet client in Ray's network but our own.
As we don't have shell accounts on Ray's network, his network is always
a foreign network. That's why we need two sets of credentials, one to
use our own local network, and another to use the foreign network. There
is no need for the login name on the local network, yours, to match the
login name on the foreign network, Ray's. Also, Ray is specifically NOT
providing you with a mailbox, which means you are never addressed by
that login name as the lefthand part of the mailbox, with the righthand
part of the mailbox one of Ray's domain names. It doesn't matter what
your login name is on Ray's network for it is used for no other purpose
than to authenticate into Ray's network and to give you access limited
to specific functions on his News server.
The From header is set in the newsreader. The newsreader runs on the
local network. It uses variables set within the client itself or
variables already set and applicable to the user's account on the
network.
In a scenario in which the user isn't running his own newsreader, but
uses his own browser to a Web interface, then an additional set of
clients and servers are in use. The browser is the client to the Web
server on the foreign network. There is an interface to the Usenet
client on the foreign network, which then interacts with the News server
on that foreign network. In that case, the variables used to form the
From header are stored in the user's account on the foreign network, not
locally in his own network.