2
import imaplib
import pprint

IMAP_SERVER='imap.gmail.com'
IMAP_PORT=993

M = imaplib.IMAP4_SSL(IMAP_SERVER, IMAP_PORT)
rc, resp = M.login('user@gmail.com', 'password')
print rc, resp

M.select()
for msg_num in M.search(None, "UNDELETED")[1][0].split():
    msg = M.fetch('1', '(BODY.PEEK[TEXT])') 
    print msg[1][0][1][139:161]

M.close()         
M.logout()

我是 python 编程的新手,上面的 python 代码是我用于我想做的程序的代码。当我在终端中运行此程序时,我会收到我已验证我的帐户的响应,然后它会显示字符 139 和 161 之间的消息,在示例电子邮件中如下所示:

这只是一个测试...

这在终端中打印出来。我想要做的是把这个打印输出和其他东西进行比较。例如:如果 a=b 那么 x。我想要做的是,如果声明为真,则向串口发送信号。

感谢所有的帮助,感谢和期待任何帮助...

4

1 回答 1

2

只需在打印之前将消息分配给变量:

for msg_num in M.search(None, "UNDELETED")[1][0].split():
    msg = M.fetch('1', '(BODY.PEEK[TEXT])') 
    a = msg[1][0][1][139:161]
    print a

# later..
if a == 'this is just a test...':
   # your code here
   pass

显然,您应该使用比“ a”更有意义的变量名。

于 2011-03-14T14:48:12.000 回答