通过systemd服务/定时器与offlineimap同步邮件;从 gnome 密钥环获取密码

通过systemd服务/定时器与offlineimap同步邮件;从 gnome 密钥环获取密码

我正在尝试通过 systemd 服务使用 Offlineimap 在 mutt 中自动同​​步我的邮件。我在用这些文件并将它们移动到该/etc/systemd/user文件夹​​中。

但是,我通过 gnome-keyring 存储密码并通过secret-tool lookup user [user] domain gmail.com.这可以从命令行运行,但该服务返回以下内容:

user@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'.

我已经发现问题可能出在 dbus 通信上,但我不知道如何解决它。任何人都可以提供见解吗?

编辑:

我按照建议在 [Repository YOUR_ACCOUNT-remote] 部分中添加了以下内容,解决了与 XOAUTH2 相关的(无害)警告这个论坛主题

auth_mechanisms = LOGIN

然而,这个问题是无关的,但为了防止混淆,我相应地更新了上面的错误。

答案1

我可以想象的一种解决方案是使用系统环境变量或者系统执行环境并让您的离线 IMAP 密码脚本回显环境变量(即密码)。您也可以尝试使用客户端证书

相关内容