1) Install Alpine+ldap, setting up DavMail.
Install Alpine using port with FLAVOR set to ldap. I just referred to my previous post. So this post will focus more on OfflineIMAP and UW-IMAPd side of the project.
1) Install imap-uw2007
read the /usr/local/share/doc/pkg_readmes/uw-imap-2007f and follow the instruction. For me, I vim /etc/inetd.conf and add:
imap stream tcp nowait root /usr/local/libexec/imapd imapd
imap stream tcp6 nowait root /usr/local/libexec/imapd imapd
And it's also stated a way to enable plain text login. So I vim /etc/c-client.cf and change:
#set disable-plaintext nil
set disable-plaintext nil
You can restart inetd, but I just reboot. Then I telnet to localhost:143.
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4REV1 I18NLEVEL=1 LITERAL+ SASL-IR LOGIN-REFERRALS STARTTLS] localhost IMAP4rev1 2007f.404 at Tue, 20 Mar 2012 13:27:16 +0800 (MYT)
So far so good. In Alpine I just need to Add Folder collection (S+L+A) with the details:
Then after I saved the settings, inside folder list (L) Alpine will ask for my username (same as my OpenBSD's login name) and password (also same as my OpenBSD's password) then I can manipulate my IMAP's INBOX folder. I can add folders, delete etc. So this part is ok.
3) Installing and configuring OfflineIMAP.
I installed OfflineIMAP from OpenBSD's packages. Then I create ~/.offlineimaprc and put the basic as stated in offlineimap.org.
accounts = MyCompany
localrepository = Local
remoterepository = Remote
type = IMAP
remotehost = localhost
remoteport = 143
remoteuser = karl
type = IMAP
remotehost = locahost
remoteport = 1143
remoteuser = ASIA\karl
Then I run OfflineIMAP by issuing offlineimap. Lo and behold, I got this error:
Copyright 2002-2011 John Goerzen & contributors.
Licensed under the GNU GPL v2+ (v2 or any later version).
Account sync MyCompany:
***** Processing account MyCompany
Copying folder structure from IMAP to MappedIMAP
Establishing connection to localhost:1143.
WARNING: Error occured attempting to sync account 'MyCompany':
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/offlineimap/accounts.py", line 177, in syncrunner self.sync()
File "/usr/local/lib/python2.7/site-packages/offlineimap/accounts.py", line 235, in sync remoterepos.syncfoldersto(localrepos, [statusrepos])
File "/usr/local/lib/python2.7/site-packages/offlineimap/repository/Base.py", line 124, in syncfoldersto srcfolders = src.getfolders()
File "/usr/local/lib/python2.7/site-packages/offlineimap/repository/IMAP.py", line 303, in getfolders self.accountname, self))
File "/usr/local/lib/python2.7/site-packages/offlineimap/folder/IMAP.py", line 32, in __init__ self.name = imaputil.dequote(name)
File "/usr/local/lib/python2.7/site-packages/offlineimap/imaputil.py", line 36, in dequote if not (string == '"' and string[-1] == '"'): IndexError: string index out of range
***** Finished processing account MyCompany
Eh. Bah. Something is wrong somewhere. Help....