systemd 서비스/타이머를 통해 메일을 오프라인 imap과 동기화합니다. 그놈 키링에서 비밀번호를 가져옵니다.

systemd 서비스/타이머를 통해 메일을 오프라인 imap과 동기화합니다. 그놈 키링에서 비밀번호를 가져옵니다.

systemd 서비스를 통해 Offlineimap을 사용하여 mutt에서 내 메일을 자동으로 동기화하려고 합니다. 나는 사용하고있다이것들/etc/systemd/user파일을 이 폴더 로 이동합니다 .

그러나 gnome-keyring 및 pass 를 통해 비밀번호를 저장합니다 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 비밀번호 스크립트가 환경 변수(예: 비밀번호)를 반영하도록 합니다. 클라이언트 인증서를 사용해 볼 수도 있습니다.

관련 정보