At a minimum, do people a favor and please direct people to this answer to help them set up git send-email, and help keep this answer up-to-date.
After a lot of effort, and using all of the resources from the bottom of the question together, I was able to piece together a solution from the combination of all of the sources, together. Bear with me.
Tested on Ubuntu 20.04.
Install git send-email:
sudo apt update
sudo apt install git-email
Source: git: 'send-email' is not a git command. See 'git --help'
Without the above installation, you'll see:
git: 'send-email' is not a git command. See 'git --help'.
Install Perl script dependencies (Perl must be already installed):
cpan Authen::SASL MIME::Base64 Net::SMTP::SSL
Source: https://coderwall.com/p/qcsiew/setting-up-and-using-git-send-email-with-gmail
Configure your ~/.gitconfig file by ensuring you have this in it:
[user]
name = First Last
email = my_email@gmail.com
[sendemail]
smtpServer = smtp.gmail.com
smtpServerPort = 587
smtpEncryption = tls
smtpUser = my_email@gmail.com
# (Optional: we'll leave this commented out and use a different way)
# smtpPass = PASSWORD
[credential]
helper = store
Source: a variety of places, but the only one that said to add the [credential] part (which is very important) was this: https://gist.github.com/winksaville/dd69a860d0d05298d1945ceff048ce46
Configure your Google Account to have 1) 2-factor authentication (to enable app-specific passwords), and 2) an app-specific password for gmail to be used by git send-email:
- Configure 2-factor authentication: go here: https://myaccount.google.com/security --> scroll down to "2-Step Verification" and follow the process to turn it on.
- Generate an app-specific password for gmail for git to use: go to the link just above, scroll down to "App passwords" and click on it. Select "Mail" as the app:
Select "Other (Custom name)" as the device: 
and name it git send-email, or similar. Click the "GENERATE" button. It will pop up with a 16-digit full-access password. Write it down, withOUT the spaces in it. It is just the 16 chars.
If you need to, squash your commits you'd like to email as a patch into a single commit. There are multiple squash techniques, but here is one common way:
git rebase -i my_first_commit~ # do NOT forget the tilde (~) at the end!
# In the git editor that opens up, manually set the first entry to
# "pick", and set all others afterwards to "squash", or just "s" for short.
# Save, then close the editor and let it squash.
Create a patch file for your latest, squashed commit:
git format-patch -1 HEAD
This produces a patch file. Example: 0001-bench-malloc-thread.c-add-assert-that-malloc-is-neve.patch.
Email that patch file to where it needs to go. For an initial test, let's just email it to yourself at my_email@gmail.com.
git send-email --to=my_email@gmail.com 0001-bench-malloc-thread.c-add-assert-that-malloc-is-neve.patch
Information about the email will display, then it will have this at the end:
Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll):
Type y and press Enter to send the message. The first time you ever send an email with git send-email it will prompt for your password. Use your app-specific password you generated for your Google Account above, and the email will send.
Since you added the [credential] helper = store entry to your ~/.gitconfig file above, git will now automatically store your app-specific password for future use in a new file called ~/.git-credentials. If you open that file, you'll see a URL string with your password embedded in it in plain text. It will look like this:
smtp://EMAIL%40gmail.com:16-DIGIT-PASSWORD@smtp.gmail.com%3a587
where EMAIL is the first part of your email address, before the @ sign, and 16-DIGIT-PASSWORD is your 16-digit app-specific password you previously generated for your Google Account, above.
Hopefully your hard drive is encrypted (you should have chosen LUKS encryption when you first installed Ubuntu, for full-disk encryption), and you are the only root user on the computer. If this is the case, this is not a security problem, since ll ~/.git-credentials shows -rw------- 1 your_username your_groupname, which means that file is not readable by anyone but you.
Done! The next time you run git send-email, you will NOT have to type in your app password, since it is now saved inside ~/.git-credentials.