After gmail recently greeted my mutt/IMAP request (which had worked perfectly for over a decade!) with "login failed", i've embarked upon the slow winding road to getting mutt to use OAuth2, or is it OAUTHBEARER?, for gmail. Out of a dozen or so hints spanning the last couple of years (many which depend on having python2 still around), i'd humbly promote these links to best hints:
I set up application passwords, then configure a gmail rc file ~/.muttrc.gmail with the important bits:
source "gpg -d ~/.pass/gmail-mutt.asc|"
set from="ME@gmail.com"
set spoolfile="imaps://imap.gmail.com/INBOX"
set folder="imaps://imap.gmail.com/"
set postponed="imaps://imap.gmail.com/[Gmail]/Drafts"
and the GPG encrypted file has the following:
set imap_user="ME"
set imap_pass="APP_PASSWORD"
set imap_idle="yes"
set smtp_url="smtps://ME@gmail.com:APP_PASSWORD@smtp.gmail.com:465/'
I wrapped a simple gmail command to run:
mutt -F ~/.muttrc.gmail
GPG pops up a password prompt, then mutt does it's thing and works just fine.