Merge branch 'master' of github.com:LukeSmithxyz/mutt-wizard

This commit is contained in:
Luke Smith 2018-03-16 12:14:51 -07:00
commit 17b8801316
7 changed files with 45 additions and 7 deletions

View File

@ -27,6 +27,8 @@ Note also that Gmail and some providers require you to enable sign-ins from thir
## Installation and Dependencies ## Installation and Dependencies
> **MacOS prerequisites** - Install `iproute2mac` and `mpv` ( brew install iproute2mac mpv )
`dialog`, `neomutt` and `offlineimap` should be installed. You also need to have a GPG public/private key pair for the wizard to automatically store your passwords. The whole repo should be cloned to `~/.config/mutt/`. (If you have a previous mutt folder, you'll want to back it up or delete it first.) `dialog`, `neomutt` and `offlineimap` should be installed. You also need to have a GPG public/private key pair for the wizard to automatically store your passwords. The whole repo should be cloned to `~/.config/mutt/`. (If you have a previous mutt folder, you'll want to back it up or delete it first.)
``` ```

View File

@ -0,0 +1,6 @@
[general]
accounts =
starttls = yes
ssl = true
pythonfile = ~/.config/mutt/credentials/imappwd.py

View File

@ -7,7 +7,6 @@ remoterepository = $title-remote
auth_mechanisms = LOGIN auth_mechanisms = LOGIN
type = $type type = $type
remoteuser = $login remoteuser = $login
sslcacerfile = /etc/ssl/cets/ca-certificates.crt
remotepasseval = mailpasswd("$title") remotepasseval = mailpasswd("$title")
remotehost = $imap remotehost = $imap
remoteport = $iport remoteport = $iport

View File

@ -0,0 +1,19 @@
[Account $title]
localrepository = $title-local
remoterepository = $title-remote
[Repository $title-remote]
auth_mechanisms = LOGIN
type = $type
remoteuser = $login
sslcacertfile = /usr/local/etc/openssl/cert.pem
remotepasseval = mailpasswd("$title")
remotehost = $imap
remoteport = $iport
folderfilter = lambda foldername: foldername not in ['[Gmail]/All Mail']
sslcacertfile = /usr/local/etc/openssl/cert.pem
[Repository $title-local]
type = Maildir
localfolders = ~/.mail/$title

View File

@ -7,8 +7,13 @@
# #
# I have this run as a cronjob every 5 minutes. # I have this run as a cronjob every 5 minutes.
# Check for internet connection. Exit script if none. # Check for internet connection. Exit script if none. (timeout in mac is `-t`)
if [ "$(uname)" == "Darwin" ]
then
ping -q -t 1 -c 1 `ip r | grep default | cut -d ' ' -f 3` >/dev/null || exit
else
ping -q -w 1 -c 1 `ip r | grep default | cut -d ' ' -f 3` >/dev/null || exit ping -q -w 1 -c 1 `ip r | grep default | cut -d ' ' -f 3` >/dev/null || exit
fi
# Get current number of new mail, then begin sync. # Get current number of new mail, then begin sync.
ori=$(find ~/.mail -wholename '*/new/*' | grep -vi "spam\|trash\|junk" | wc -l) ori=$(find ~/.mail -wholename '*/new/*' | grep -vi "spam\|trash\|junk" | wc -l)

View File

@ -1,5 +1,12 @@
#!/bin/bash #!/bin/bash
if [[ "$(uname)" == "Darwin" ]]
then
os=".macos"
else
os=""
fi
muttdir="$HOME/.config/mutt/" muttdir="$HOME/.config/mutt/"
createMailboxes() { rm -f "$muttdir"autoconf/log createMailboxes() { rm -f "$muttdir"autoconf/log
@ -179,8 +186,8 @@ addAccount() {
mkdir -p "$muttdir"accounts/$title/cache/bodies mkdir -p "$muttdir"accounts/$title/cache/bodies
# Creating the offlineimaprc if it doesn't exist already. # Creating the offlineimaprc if it doesn't exist already.
if [ ! -f ~/.offlineimaprc ]; then cp "$muttdir"autoconf/offlineimap_header ~/.offlineimaprc; fi if [ ! -f ~/.offlineimaprc ]; then cp "$muttdir"autoconf/offlineimap_header"$os" ~/.offlineimaprc; fi
cat "$muttdir"autoconf/offlineimap_profile | sed -e "$replacement" >> ~/.offlineimaprc cat "$muttdir"autoconf/offlineimap_profile"$os" | sed -e "$replacement" >> ~/.offlineimaprc
mkdir -p ~/.mail/$title mkdir -p ~/.mail/$title
# Add the mutt profile. # Add the mutt profile.
@ -189,7 +196,7 @@ addAccount() {
echo "macro index,pager i$idnum '<sync-mailbox><enter-command>source "$muttdir"accounts/$title.muttrc<enter><change-folder>!<enter>'" >> "$muttdir"personal.muttrc echo "macro index,pager i$idnum '<sync-mailbox><enter-command>source "$muttdir"accounts/$title.muttrc<enter><change-folder>!<enter>'" >> "$muttdir"personal.muttrc
# Add to offlineimaprc sync list. # Add to offlineimaprc sync list.
sed -i "s/^accounts =.*[a-zA-Z]$/&, $title/g;s/^accounts =\s*$/accounts = $title/g" ~/.offlineimaprc sed -i.bu "s/^accounts =.*[a-zA-Z]$/&, $title/g;s/^accounts =\s*$/accounts = $title/g" ~/.offlineimaprc && rm ~/.offlineimaprc.bu
# Makes account default if there is no default account. # Makes account default if there is no default account.
grep "$muttdir"personal.muttrc -e "^source .*accounts.*" >/dev/null && echo there || \ grep "$muttdir"personal.muttrc -e "^source .*accounts.*" >/dev/null && echo there || \

2
muttrc
View File

@ -7,7 +7,7 @@ source etc/muttcol
source etc/aliases source etc/aliases
set sleep_time = 0 set sleep_time = 0
set sort = 'reverse-date' set sort = 'reverse-date'
set editor = vim set editor = $EDITOR
#set copy = no #set copy = no
set timeout = "5" set timeout = "5"
set mail_check = "10" set mail_check = "10"