Well, some good news!
I inadvertently caused the problem at some point while trying to learn some basics of sendmail.
I won't pretend to know even the tip of the iceberg with sendmail. A simple config file change by me was the cause of the whole exhausting evening.
I was burning the midnight oil scratching my head about this. I was certain something was configured improperly. I was reading
this web page, particularly the section (scroll down a bit) titled The Default Routing Configuration. I suspected that something on my secondary systems was configured to convince sendmail to keep dumping mail locally. Yet because the configuration files all were the same across all machines, something in those files worked fine with my primary machine. Everything I tried last night resulted in the mails from the secondary machines dumping mail locally, but any mail sent from my primary office machine arrived at the targeted secondary machine.
I won't claim any genius here, but somehow I ended up at
this page describing the configuration file called
local-host-names.
I suspect any sendmail guru is smiling at this point. All of the configuration files were the same across all machines. In that file was some localization URLs (aliases) that worked for the primary machine. Yet when this same config file was copied to the other machines, caused sendmail to dump mails locally because the URLs in that config file said to do just that. That is, the name of the primary machine was in that file and acted like aliases. Thus any mail sent to that location was interpreted as being a local alias.
I emptied that file on all machines and restarted sendmail. Just like that I could send mails to the correct location again.
Whew!
So back to my original post. Can I forward all mails on all secondary machines to my normal user account on my primary machine?
The short answer is yes.
In the sendmail aliases config file, add an appropriate entry similar to this:
# Who gets root's mail.
root: me@mycomputer
Save the file and be sure to run the
newaliases command. Unlike with the local-host-names file, changing aliases does not require restarting the sendmail daemon.
Adding to the challenge here, I have a special account on my home theater PC (HTPC). I use that account to run the system as a limited normal user. When TV recordings complete, the system send mails to that account. The mails are important because I'm still
tweaking the system and the mails help me troubleshoot various errors. I wanted emails to that account sent my normal user account too.
That was what I was trying to do yesterday when All Hell Broke Loose.
The solution is straightforward.
In the user's home directory add a "hidden" text file name
.forward. In that same file add the same information as in the aliases file.
Yesterday I had tried that solution too, but that local-host-names file was thwarting my attempts to forward mail.
The HTPC is not always powered on. When powered on my primary machine might not be (recording a movie at 2AM). Fortunately, sendmail queues mails and within a few days at most, the two machines are powered on concurrently and sendmail can forward the mails. The HTPC is programmed to power down after a recording when nobody is logged on, so sendmail is not going to keep trying every four hours. The queue will remain intact on the hard drive until the next time the system is powered on. At least, that is what I am hoping as I haven't tested that feature yet.
Experience often is a harsh teacher.
I hope this post helps others.