Gmail收件箱只读
问题描述:
我无法使IMAP STORE命令与Gmail配合使用。从谷歌搜索似乎还有其他人有这个问题,有些人似乎找到了一个修复,从来没有说过它是什么,有的刚刚停止。我不知道如何解决它。Gmail收件箱只读
当我连接到Gmail,我只给只读到邮箱访问
2013-03-05 01:22:47-0500 [IMAP4Client (TLSMemoryBIOProtocol),client] C: '0003 EXAMINE INBOX'
2013-03-05 01:22:47-0500 [IMAP4Client (TLSMemoryBIOProtocol),client] S: '* FLAGS (\\Answered \\Flagged \\Draft \\Deleted \\Seen)'
2013-03-05 01:22:47-0500 [IMAP4Client (TLSMemoryBIOProtocol),client] S: '* OK [PERMANENTFLAGS()] Flags permitted.'
2013-03-05 01:22:47-0500 [IMAP4Client (TLSMemoryBIOProtocol),client] S: '* OK [UIDVALIDITY 1] UIDs valid.'
2013-03-05 01:22:47-0500 [IMAP4Client (TLSMemoryBIOProtocol),client] S: '* 22 EXISTS'
2013-03-05 01:22:47-0500 [IMAP4Client (TLSMemoryBIOProtocol),client] S: '* 0 RECENT'
2013-03-05 01:22:47-0500 [IMAP4Client (TLSMemoryBIOProtocol),client] S: '* OK [UIDNEXT 110] Predicted next UID.'
2013-03-05 01:22:47-0500 [IMAP4Client (TLSMemoryBIOProtocol),client] S: '0003 OK [READ-ONLY] INBOX selected. (Success)'
所以,当我选择收件箱是只读
我再后来试图删除一条消息,我得到这个错误
2013-03-05 01:43:04-0500 [IMAP4Client (TLSMemoryBIOProtocol),client] C: '000E STORE 2 FLAGS.SILENT (\\Deleted)'
2013-03-05 01:43:04-0500 [IMAP4Client (TLSMemoryBIOProtocol),client] S: '000E NO STORE attempt on READ-ONLY folder (Failure)'
扭报告这个错误,在只读文件夹,因为我只给只读访问预计STORE尝试。我如何获得读写访问权限;
Traceback (most recent call last):
Failure: twisted.mail.imap4.IMAP4Exception: STORE attempt on READ-ONLY folder (Failure)
RFC信息 http://tools.ietf.org/html/rfc3501#section-6.3.1
If the client is permitted to modify the mailbox, the server
SHOULD prefix the text of the tagged OK response with the
"[READ-WRITE]" response code.
If the client is not permitted to modify the mailbox but is
permitted read access, the mailbox is selected as read-only, and
the server MUST prefix the text of the tagged OK response to
SELECT with the "[READ-ONLY]" response code. Read-only access
through SELECT differs from the EXAMINE command in that certain
read-only mailboxes MAY permit the change of permanent state on a
per-user (as opposed to global) basis. Netnews messages marked in
a server-based .newsrc file are an example of such per-user
permanent state that can be modified with read-only mailboxes.
我知道Gmail的IMAP实现破(http://memegenerator.net/instance/35708036) 但据我可以告诉Mail.app,雷鸟等能够删除邮件等什么我失去了获得读写访问....
删除代码
def delete_data(self, data_hash):
if not self.hash_database.hash_in_list(data_hash):
print "Data hash isn't uploaded yet"
raise IOError("No such data hash uploaded")
else:
# delete it to prevent anyone from trying to download it while it is being deleted
self.hash_database.delete_hash(data_hash)
d = self.imap_connection.search("SUBJECT", "\"EMS Data ID: %s\"" % data_hash, uid = False)
d.addCallback(self.delete_message)
d.addErrback(self.deletion_error, data_hash)
return d
def deletion_error(self, error, data_hash):
print "Couldn't delete message hash %s" % data_hash
print "========Deletion Error========"
log.err(error)
# restore hash to database
self.hash_database.add_hash(data_hash)
raise IOError("Couldn't delete message hash")
def delete_message(self, id):
if len(id) == 0:
raise IOError("Hash not found, however database indicates it was uploaded")
d = self.imap_connection.setFlags(id[-1], ["\\Deleted"])
d.addCallback(lambda result: self.imap_connection.expunge())
return d
答
您需要选择您的INBOX而不是检查它。检查是以只读方式打开邮箱的命令。
+0
哇我觉得愚蠢的猜测我的大脑看到了检查线,就像是你已经知道它是选择是..... .....谢谢 – Zimm3r 2013-03-05 22:23:25
既然你知道一个可行的开源程序,首先检查他们的代码! – 2013-03-05 07:51:17