2016-07-12 10 views
0
import getpass, poplib 
user = 'my_user_name' 
Mailbox = poplib.POP3_SSL('pop-mail.outlook.com.com', '995') 
Mailbox.user(user) 
Mailbox.pass_('my_password') 
numMessages = len(Mailbox.list()[1]) 
for i in range(numMessages): 
    for msg in Mailbox.retr(i+1)[1]: 
     print msg 
Mailbox.quit() 

위의 코드는 python POP3 문서에서 가져온 것입니다. 그러나 그것은 실제로 내가 원하는 것이 아닙니다. 특정 발신자의 이메일 만 읽으 려합니다. 나는 python POP3 라이브러리에서 어떤 메소드도 찾지 못했습니다. 누구든지 도와 줄 수 있습니까?POP3를 사용하여 python의 특정 주소로 Outlook 전자 메일 읽기

  • 메시지

옵션 명령 (TOP의 MSG의 N)을 삭제 전체 메시지

  • 를 검색 할 메시지의 수를 얻을 수 있습니다 :에

  • +0

    POP3에는 필터/검색 기능이 없습니다. 너는 너 자신 전자 우편을 통해서 봐야한다. – poke

    +0

    오 ... IMAP은 무엇인가요? 그게 있니? –

    답변

    0

    는 POP3 프로토콜 만 허용 메시지의 n 번째 줄만 읽습니다. 이론 상으로는 특정 주소에서 오는 메시지 만 완전히 다운로드하는 데 사용할 수 있습니다. 이 명령은 poplib 모듈에서 지원하지만 설명서에는 다음과 같이 표시됩니다.

    ... 불행히도 TOP는 RFC에서 제대로 지정되지 않았고 브랜드가 다른 서버에서 자주 손상됩니다. 이를 신뢰하기 전에 사용할 POP3 서버에 대해 수동으로이 방법을 테스트하십시오.

    내 조언이다 , 조만간 깰 가능성이 높다고 사용하려고하지 않습니다. POP3를 사용해야하는 경우 독자가 수행하는 작업을 수행하십시오. 모든 것을 다운로드하고 클라이언트 쪽을 필터링하십시오. 그리고 정말로 메시지 서버 쪽을 필터링하려면 POP3 프로토콜을 잊어 버리고 IMAP4를 사용하십시오. imaplib 모듈을 통해 파이썬에서 훌륭하게 지원됩니다.