[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Configuration example for mbsync + dovecot + Gnus
From: |
Garjola Dindi |
Subject: |
Re: Configuration example for mbsync + dovecot + Gnus |
Date: |
Sun, 31 Jan 2021 11:56:30 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
On Mon 25-Jan-2021 at 19:30:23 +01, Eric Abrahamsen
<eric@ericabrahamsen.net> wrote:
> Garjola Dindi <garjola@garjola.net> writes:
>
>> On Mon 25-Jan-2021 at 17:31:14 +01, Eric Abrahamsen
>> <eric@ericabrahamsen.net> wrote:
>>> Garjola Dindi <garjola@garjola.net> writes:
>>>
>>>> Hi,
>>>>
>>>> I would like to move from a nnmaildir + OfflineIMAP configuration to
>>>> something which:
>>>>
>>>> 1. scales better for large number of messages than nnmaildir and
>>>> 2. does not use OfflineIMAP (Python 2 based and sometimes slow).
>>>>
>>>> I understand that some Gnus users use a local IMAP server with dovecot
>>>> and the nnimap backend.
>>>>
>>>> I found these interesting instructions here:
>>>>
>>>> https://ericabrahamsen.net/tech/2014/oct/gnus-dovecot-lucene.html
>>>
>>> I'm still using this setup! You didn't say what was going wrong, but
>>> here's a sample config block for one of my IMAP accounts:
>>
>> Thanks for your answer!
>>
[...]
Hi,
Thanks to Eric Abrahamsen and Jeffrey DeLeo for their help. I finally
managed configuring dovecot + mbsync + gnus to my liking.
Actually, the original post from Eric just needed a couple of tweaks to
work. As pointed out before, in the mbsync config, I had to change this
,----
| UseIMAPS no
| UseTLSV1 no
`----
to this
,----
| SSLType IMAPS
| SSLVersions TLSv1.2
`----
and also add the port
,----
| Port 993
`----
For the local dovecot, I had to add this
,----
| AuthMechs LOGIN
`----
Since my email provider uses Microsoft Exchange (or Outlook or Office365
or whatever they call it these days), I had to add a couple of options
to go around bugs in their server. These are documented in [1] and [2].
FWIW, my final mbsync config looks like this:
#+begin_src conf :tangle mbsync/.mbsyncrc :mkdirp yes
IMAPAccount garjola
Host imap.domain.net
Port 993
User login@domain.net
PassCmd "emacsclient -e \"(my/lookup-password :host
\\\"imap.domain.net\\\" :user \\\"login@domain.net\\\")\" | cut -d '\"'
-f2"
SSLType IMAPS
SSLVersions TLSv1.2
CertificateFile /etc/ssl/certs/ca-certificates.crt
PipelineDepth 1
Timeout 120
IMAPStore garjola-remote
Account garjola
IMAPAccount garjola-dovecot
Host localhost
User login@domain.net
Pass passwurd # local password I don't care much about
SSLType None
AuthMechs LOGIN
IMAPStore garjola-local
Account garjola-dovecot
Channel garjola
Master :garjola-remote:
Slave :garjola-local:
Patterns *
Create Both
Expunge Both
Remove Both
#+end_src
The configuration of dovecot (dovecot.conf and passwd) don't need any
change. And nor does the .gnus part.
To look up the imap password, I use this (stolen from [3]):
#+begin_src emacs-lisp
(defun my/lookup-password (&rest keys)
"Lookup a password using auth-source"
(let ((result (apply #'auth-source-search keys)))
(if result
(funcall (plist-get (car result) :secret))
nil)))
#+end_src
Cheers,
Garjola
[1] https://kdecherf.com/blog/2017/05/01/mbsync-and-office-365/
[2] https://www.chrislockard.net/posts/o365-mail-emacs-mbsync-mu4e/
[3] https://github.com/daviwil/emacs-from-scratch/blob/master/
show-notes/Emacs-Tips-Pass.org
--