문제

import serial
import imaplib
from time import sleep

IMAP_SERVER='imap.gmail.com'
IMAP_PORT=993
ser= serial.Serial ('/dev/ttyACM0',9600)

while True:
    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("INBOX", "UNDELETED")[1][0].split():
        msg = M.fetch('1', '(BODY.PEEK[TEXT])') 
        try:
            String = msg[1][0][1][139:148]
        except TypeError:
            continue

        print String
        if String == "This is just a test...":
            ser.write('0')
        sleep(1)
.

저는 Python 프로그래밍의 새로운 초보자이고 위의 Python 코드는 내가하고 싶은 프로그램에 대해 사용하는 것입니다.터미널 에서이 작업을 실행하면 내 계정을 인증 한 응답을 얻은 다음 문자 전자 메일에서 다음과 같은 문자를 표시합니다.

This is just a test...
.

이것은 터미널에서 인쇄됩니다.몇 번 이후에 프로그램이 내 이메일을 확인합니다.이 오류가 발생했습니다 :

   Traceback (most recent call last):
     File "/home/wilson/Desktop/Best_Gmail_yet _Dont_touch.py", line 11, in <module>
       rc, resp = M.login('user@gmail.com', 'password')
     File "/usr/lib/python2.6/imaplib.py", line 500, in login
       raise self.error(dat[-1])
   imaplib.error: [ALERT] Web login required: http://mail.google.com/support /bin/answer.py?answer=78754 (Failure)
.

누구든지에 도움이되는 아이디어가 있고 사전에 직렬로 쓰는 다른 방법이 있습니까!

도움이 되었습니까?

해결책

오류 메시지 URL ( http://mail.google).com / support / bin / answer.py? 답변= 78754 ) :

메일 클라이언트가 설정되지 않았는지 확인하십시오. 새로운 메일을 너무 자주 확인하십시오.만약 메일 클라이언트가 새로운 것을 확인합니다 메시지가 10 개 이상 남아 있습니다 분, 고객의 고객이 반복적으로 수행 할 수 있습니다 사용자 이름과 암호를 요청하십시오.

서버에 너무 자주 연결하고 있으며 Gmail은 의심스러워합니다.

또한 이들 중 하나를 닫지 않고도 여러 IMAP 연결을 열어야합니다.나는 당신이 무엇을하려고하는지 정확히 모르겠지만, 시간이 지나치게 유지하고 조사하는 하나의 연결 만 하나의 연결 만 포함 할 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top