It is solved!
On my home computer, I run mutt non-interactively from a script. On the server, I ran mutt interactively with the same .muttrc that hadn't worked and the screen showed:
This certificate belongs to:
Dreamhost Web Hosting
Brea California US
This certificate was issued by:
DREAMHOST SSL CA
DREAMHOST CERTIFICATION AUTHORITY
This certificate is valid
from Wed, 25 Jan 2012 00:00:00 UTC
to Tue, 24 Jan 2017 23:59:59 UTC
SHA1 Fingerprint: B985 A8C4 F8B6 757A BF37 9613 BB78 331E 9CFB 3A57
MD5 Fingerprint: 7D6E A98C 4E30 6035 9242 07B5 5505 4522
WARNING: Server hostname does not match certificate
-- Mutt: SSL Certificate check (certificate 4 of 4 in chain)
(r)eject, accept (o)nce, (a)ccept always
I typed a. Then it asked me to confirm To and Subject. Then it asked me for the password. There were no errors and the mail went through!
So the problem was a bad certificate, possibly because our account was recently moved to a different server. Running mutt non-interactively REQUIRES putting smtp_pass in .muttrc .