I have been using using Sacha Chua’s how to on using offlineimap and dovecot several times. But when I bought my latest notebook I wasn’t able to get offlineimap up and running. I’m currently using mbsync. Which is much faster and easier to configure.
I’m using ArchLinux but you should be able to adapt this guide on any other Linux distribution.
Install and configure isync
yaourt -S isync
The isync configuration file is named .mbsyncrc
edit ~/.mbsyncrc
IMAPAccount gmail
# Address to connect to
Host imap.gmail.com
User yourname@gmail.com
#Pass ***************
# To store the password in an encrypted file use PassCmd instead of Pass
#PassCmd "gpg2 -q --for-your-eyes-only --no-tty -d ~/.mailpass.gpg"
#
# Use SSL
UseIMAPS yes
# The following line should work. If get certificate errors, uncomment the two following lines and read the "Troubleshooting" section.
CertificateFile /etc/ssl/certs/ca-certificates.crt
#CertificateFile ~/.cert/imap.gmail.com.pem
#CertificateFile ~/.cert/Equifax_Secure_CA.pem
IMAPStore gmail-remote
Account gmail
MaildirStore gmail-local
# The trailing "/" is important
Path ~/mail/
Inbox ~/mail/Inbox
Channel gmail
Master :gmail-remote:
Slave :gmail-local:
# Exclude everything under the internal [Gmail] folder, except the interesting folders
Patterns * ![Gmail]* "[Gmail]/Sent Mail" "[Gmail]/Starred" "[Gmail]/All Mail"
# Or include everything
#Patterns *
# Automatically create missing mailboxes, both locally and on the server
Create Both
# Save the synchronization state files in the relevant directory
SyncState *
Edit the password and you are done.
Create the folders for your mail
mkdir -p ~/mail/Inbox
Install and configure dovecot
Install dovecot
pacman -S dovecot
Edit the main configuration file for dovecot
edit /etc/dovecot/dovecot.conf and set these lines:
protocols = imap
listen = *, ::
edit /etc/dovecot/conf.d/10-auth.conf and set these lines:
auth_mechanisms = plain
passdb {
args = /etc/dovecot/passwd
driver = passwd-file
}
!include auth-system.conf.ext
edit /etc/dovecot/conf.d/10-mail.conf and set these lines:
mail_location = maildir:/home/me/mail/Inbox/
namespace inbox {
inbox = yes
}
start dovecot
systemctl start dovecot
systemctl enable dovecot
initial sync
start the initial sync
enter
mbsync -a
and look at output and wait. Isync is faster than offlineimap but the initial sync will still take some time.
create a cronjob for syncing
fcrontab -e
@ 10 /usr/bin/mbsync -a
configure gnus
edit ~/.gnus
(setq gnus-select-method
'(nnimap "Mail"
(nnimap-address "localhost")
(nnimap-stream network)
(nnimap-authenticator login)
(nnir-search-engine imap)))
(setq user-mail-address “yourname@gmail.com”)
(setq gnus-ignored-from-addresses “yourname@gmail.com”)
; set gmail smtp
(setq message-send-mail-function ‘smtpmail-send-it
smtpmail-starttls-credentials ‘((“smtp.gmail.com” 587 nil nil))
smtpmail-auth-credentials ‘((“smtp.gmail.com” 587 “yourname@gmail.com” nil))
smtpmail-default-smtp-server “smtp.gmail.com”
smtpmail-smtp-server “smtp.gmail.com”
smtpmail-smtp-service 587)
; smtpmail-local-domain “yourcompany.com”)
and you are done.
access your emails in gnus
This is from Sacha Chuas blog:
Start Emacs. Start Gnus with M-x gnus. If you don’t see the INBOX group, press ^ (gnus-group-enter-server-mode), open nnimap:Mail, move your cursor to the INBOX, and either press RET to go into the group or press u (gnus-browse-unsubscribe-current-group) to toggle the subscription status until you’re subscribed to the group.
Have fun!