Estou tentando receber e-mails usando o getmail de um servidor Idle IMAP.
Como posso receber e-mails usando o aplicativo de e-mail do Mac OS de outra conta no mesmo servidor (provedor de endereço de e-mail), o IMAP Idle deve ser suportado pelo servidor.
No entanto, depois de algum tempo (não sei quanto tempo isso levou) a conexão é fechada e uma exceção é levantada:
getmail version 4.46.0
Copyright (C) 1998-2012 Charles Cazabon. Licensed under the GNU GPL version 2.
SimpleIMAPSSLRetriever:<address>@<server>:993:
0 messages (0 bytes) retrieved, 0 skipped
IDLE message received
msg 1/1 (1534 bytes) from <sender> delivered to MDA_external command procmail (), deleted
1 messages (1534 bytes) retrieved, 0 skipped
0 messages (0 bytes) retrieved, 0 skipped
0 messages (0 bytes) retrieved, 0 skipped
0 messages (0 bytes) retrieved, 0 skipped
0 messages (0 bytes) retrieved, 0 skipped
0 messages (0 bytes) retrieved, 0 skipped
0 messages (0 bytes) retrieved, 0 skipped
0 messages (0 bytes) retrieved, 0 skipped
0 messages (0 bytes) retrieved, 0 skipped
IDLE message received
Exception: please read docs/BUGS and include the following information in any bug report:
getmail version 4.46.0
Python version 2.7.9 (default, Sep 17 2016, 20:26:04)
[GCC 4.9.2]
Unhandled exception follows:
File "/usr/bin/getmail", line 866, in main
success = go(configs, options.idle)
File "/usr/bin/getmail", line 425, in go
idling = retriever.go_idle(idle)
File "/usr/lib/python2.7/dist-packages/getmailcore/_retrieverbases.py", line 1750, in go_idle
self.conn.send('DONE\r\n')
File "/usr/lib/python2.7/imaplib.py", line 1195, in send
sent = self.sslobj.write(data)
File "/usr/lib/python2.7/ssl.py", line 626, in write
return self._sslobj.write(data)
error: [Errno 104] Connection reset by peer
Please also include configuration information from running getmail
with your normal options plus "--dump".
A configuração do getmail é assim:
[retriever]
type = SimpleIMAPSSLRetriever
server = <IMAPserver>
port = 993
username = <username>
password = <password>
mailboxes = ALL
[destination]
type = MDA_external
path = /usr/bin/procmail
[options]
read_all = true
delivered_to = false
received = false
message_log = ~/.getmail/getmail.log
verbose = 2
delete = true
Alguém tem algumas dicas sobre como resolver esse problema? Eu não tenho nenhum ponto de partida, pois sou um iniciante no uso do getmail.
Como estou planejando usar o supervisord no futuro, eu poderia usar o supervisor para reiniciar o getmail, o que deveria fazer o trabalho, mas isso não parece ser uma boa prática do ponto de vista técnico.