[systemd-devel] Sync mail with offlineimap via systemd service/timer; getting password from gnome keyring

Ruben Verweij rbnvrw at gmail.com
Thu Jun 16 11:01:17 UTC 2016


Dear all,

I am trying to autosync my mail in mutt using offlineimap via a systemd
service. I am using these (
https://github.com/OfflineIMAP/offlineimap/tree/master/contrib/systemd)
files and have moved them to the `/etc/systemd/user` folder.

However, I am storing my password via the gnome-keyring and retrieving it
via `secret-tool lookup user [user] domain gmail.com`. This works from the
command line, but the service returns the following:

    user at computer:~/.dotfiles$ systemctl --user -l status
offlineimap.service
    ● offlineimap.service - Offlineimap Service
       Loaded: loaded (/etc/systemd/user/offlineimap.service; enabled;
vendor preset: enabled)
       Active: failed (Result: exit-code) since Fri 2016-06-10 10:03:43
CEST; 11s ago
      Process: 5193 ExecStart=/usr/bin/offlineimap -o -u syslog
(code=exited, status=1/FAILURE)
     Main PID: 5193 (code=exited, status=1/FAILURE)

    Jun 10 10:03:40 computer offlineimap[5193]: Establishing connection to
imap.gmail.com:993
    Jun 10 10:03:43 computer ERROR[5193]: While attempting to sync account
'MyAccount'
                                           Command 'secret-tool lookup user
myaccount domain gmail.com' returned non-zero exit status 1
    Jun 10 10:03:43 computer offlineimap[5193]: *** Finished account
'MyAccount' in 0:03
    Jun 10 10:03:43 computer ERROR[5193]: Exceptions occurred during the
run!
    Jun 10 10:03:43 computer ERROR[5193]: While attempting to sync account
'MyAccount'
                                           Command 'secret-tool lookup user
myaccount domain gmail.com' returned non-zero exit status 1
    Jun 10 10:03:43 computer Traceback[5193]:   File
"/usr/lib/python2.7/site-packages/offlineimap/accounts.py", line 263, in
syncrunner
                                                 self.__sync()
                                               File
"/usr/lib/python2.7/site-packages/offlineimap/accounts.py", line 326, in
__sync
                                                 remoterepos.getfolders()
                                               File
"/usr/lib/python2.7/site-packages/offlineimap/repository/IMAP.py", line
390, in getfolders
                                                 imapobj =
self.imapserver.acquireconnection()
                                               File
"/usr/lib/python2.7/site-packages/offlineimap/imapserver.py", line 511, in
acquireconnection

 self.__authn_helper(imapobj)
                                               File
"/usr/lib/python2.7/site-packages/offlineimap/imapserver.py", line 411, in
__authn_helper
                                                 if func(imapobj):
                                               File
"/usr/lib/python2.7/site-packages/offlineimap/imapserver.py", line 350, in
__authn_login
                                                 self.__loginauth(imapobj)
                                               File
"/usr/lib/python2.7/site-packages/offlineimap/imapserver.py", line 203, in
__loginauth

 imapobj.login(self.username, self.__getpassword())
                                               File
"/usr/lib/python2.7/site-packages/offlineimap/imapserver.py", line 159, in
__getpassword
                                                 self.password =
self.repos.getpassword() or \
                                               File
"/usr/lib/python2.7/site-packages/offlineimap/repository/IMAP.py", line
332, in getpassword
                                                 return
self.localeval.eval(passwd)
                                               File
"/usr/lib/python2.7/site-packages/offlineimap/localeval.py", line 48, in
eval
                                                 return eval(text, names)
                                               File "<string>", line 1, in
<module>
                                               File
"/home/user/.mutt/offlineimap.py", line 8, in get_keychain_pass
                                                 stderr=subprocess.STDOUT)
                                               File
"/usr/lib64/python2.7/subprocess.py", line 573, in check_output
                                                 raise
CalledProcessError(retcode, cmd, output=output)
    Jun 10 10:03:43 computer systemd[1075]: offlineimap.service: Main
process exited, code=exited, status=1/FAILURE
    Jun 10 10:03:43 computer systemd[1075]: Failed to start Offlineimap
Service.
    Jun 10 10:03:43 computer systemd[1075]: offlineimap.service: Unit
entered failed state.
    Jun 10 10:03:43 computer systemd[1075]: offlineimap.service: Failed
with result 'exit-code'.

I already found out that the problem might lie in the dbus communication,
but I'm not sure how to fix it. Can anyone provide an insight?

I posted the question on the Unix stackexchange here
http://unix.stackexchange.com/questions/288685/sync-mail-with-offlineimap-via-systemd-service-timer-getting-password-from-gnom,
but unfortunately nobody has provided an answer yet.

If anyone can provide a solution, I will also update the stackexchange for
the benefit of future users struggling with this problem. If more info is
required, please let me know.

Thank you very much in advance!

Best,
Ruben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20160616/fef0d7ce/attachment-0001.html>


More information about the systemd-devel mailing list