mutt config
The environment variables are sourced from a private file with .bashrc.
~/.mbsyncrc
Create Slave
SyncState *
IMAPAccount gmail
Host imap.gmail.com
User email@gmail.com
PassCmd "echo $GMAIL_PERSONAL_PASSWORD"
CertificateFile /etc/ssl/certs/ca-certificates.crt
SSLType IMAPS
PipelineDepth 50
MaildirStore gmail-local
Path ~/.mutt/mailbox/personal/
Inbox ~/.mutt/mailbox/personal/inbox
Subfolders Verbatim
IMAPStore gmail-remote
Account gmail
Channel gmail-inbox
Master :gmail-remote:
Slave :gmail-local:
Patterns "INBOX"
Expunge Both
Channel gmail-sent
Master :gmail-remote:"[Gmail]/Sent Mail"
Slave :gmail-local:sent
Expunge Both
Channel gmail-drafts
Master :gmail-remote:"[Gmail]/Drafts"
Slave :gmail-local:drafts
Create Both
Expunge Both
Group gmail
Channel gmail-inbox
Channel gmail-sent
Channel gmail-drafts
IMAPAccount work
Host imap.gmail.com
User email@work.com
PassCmd "echo $GMAIL_WORK_PASSWORD"
CertificateFile /etc/ssl/certs/ca-certificates.crt
SSLType IMAPS
PipelineDepth 50
MaildirStore work-local
Path ~/.mutt/mailbox/work/
Inbox ~/.mutt/mailbox/work/inbox
Subfolders Verbatim
IMAPStore work-remote
Account work
Channel work-inbox
Master :work-remote:
Slave :work-local:
Patterns "INBOX"
Expunge Both
Channel work-sent
Master :work-remote:"[Gmail]/Sent Mail"
Slave :work-local:sent
Expunge Both
Channel work-drafts
Master :work-remote:"[Gmail]/Drafts"
Slave :work-local:drafts
Create Both
Expunge Both
Group work
Channel work-inbox
Channel work-sent
Channel work-drafts
crontab
*/5 * * * * killall mbsync > /dev/null 2>&1; sleep 1; . ~/.privaterc; /usr/local/bin/mbsync -a -V > ~/.mbsync_log 2>&1
~/.muttrc
set smtp_authenticators = "login"
set ssl_force_tls = yes
set mail_check_stats
unset mark_old
set attribution = "On %[!%D at %r], %n <%a> wrote:"
set index_format="[%Z] %?X?A&-? %D %-20.20F %s"
set date_format="%D %r"
set pager_format="%4C %Z %[!%b %e at %I:%M %p] %.20n %s%* -- (%P)"
set sort=threads
set fast_reply
set include
set text_flowed
set rfc2047_parameters
folder-hook 'personal' 'source ~/.mutt/gmail.personal'
folder-hook 'work' 'source ~/.mutt/gmail.work'
macro index 1 "<change-folder> = ~/.mutt/mailbox/personal/inbox/<enter>"
macro index 2 "<change-folder> = ~/.mutt/mailbox/work/inbox/<enter>"
macro index G "!mbsync -a^M" "Update through mbsync"
macro index <f2> "!mbsync gmail-inbox gmail-sent^M" "Update gmail through mbsync"
macro index <f3> "!mbsync work-inbox work-sent^M" "Update work through mbsync"
set move = no
source ~/.mutt/gmail.work
~/.mutt/gmail.personal
set smtp_url = "smtp://$GMAIL_PERSONAL_USERNAME@smtp.gmail.com:587"
set smtp_pass = $GMAIL_PERSONAL_PASSWORD
set folder = "~/.mutt/mailbox/personal"
set spoolfile = "~/.mutt/mailbox/personal/inbox"
set postponed = "~/.mutt/mailbox/personal/drafts"
set trash = "+trash"
set record = ""
set from = "$GMAIL_PERSONAL_USERNAME@gmail.com"
set realname = "Ian Hilt"
set signature=~/.mutt/personal.signature
~/.mutt/gmail.work
set smtp_url = "smtp://$GMAIL_WORK_USERNAME@smtp.gmail.com:587/"
set smtp_pass = $GMAIL_WORK_PASSWORD
set folder = "~/.mutt/mailbox/work"
set spoolfile = "~/.mutt/mailbox/work/inbox"
set postponed = "~/.mutt/mailbox/work/drafts"
set trash = "+trash"
set record=""
set from = $GMAIL_WORK_USERNAME
set realname = "Ian Hilt"
set signature=~/.mutt/work.signature
~/.mailcap
text/html; lynx -dump %s; nametemplate=%s.html; copiousoutput;