De uma perspectiva simples de utilitário, sim, você pode usar o Keychain. Eu recomendo strongmente que você leia toda a página security(1)
man, que tem ressalvas adicionais.
Você pode inserir a senha usando o programa Keychain ou através da linha de comando:
# WARNING: exposes password in ps(1), history(1), etc.
$ security add-internet-password -a $USER -s pop3.example.com -w 'Mellon!'
Você pode extrair isso com:
# Note: by default, first use will prompt
$ security find-internet-password -s pop3.example.com -a $USER -g
Se você Sempre permitir , security(1)
poderá extrair essas credenciais sem prompts adicionais. Isso pode ser um risco para o seu sistema. Você pode optar por ter isso sempre solicitar sua senha antes de iniciar, no entanto.
Por fim, usando isso, você pode agrupar sua chamada fetchmail
com um script de trampolim que define a senha a ser usada.
user=$USER
server=pop3.example.com
# WARNING: insecure tmpfile creation and usage
# As [DAM][1] mentions, see mkstemp(3)
tmpfile=/tmp/fetchmailrc.$$
password=$(security find-internet-password -s $server -a $USER -g 2>&1 \
| perl -ne '/password: "(\S*)"/ and print $1')
# create temporary fetchmailrc and pass to fetchmail, etc...
cat <<EoF > $tmpfile
poll $server with proto POP3 and options no dns
user $user with pass '$password' is $user here
options keep mda '/usr/bin/procmail -d %T'
EoF
fetchmail -d -f $tmpfile
rm -f $tmpfile
Embora isso atinja o objetivo declarado de não ter arquivos óbvios com senhas, observei os riscos de segurança ainda presentes nessa configuração, o que você deve considerar.