Python - POP3


The pop3 protocol is an email protocol to download messages from the email-server. These messages can be stored in the local machine.

Key Points

  • POP is an application layer internet standard protocol.

  • Since POP supports offline access to the messages, thus requires less internet usage time.

  • POP does not allow search facility.

  • In order to access the messaged, it is necessary to download them.

  • It allows only one mailbox to be created on server.

  • It is not suitable for accessing non mail data.

  • POP commands are generally abbreviated into codes of three or four letters. Eg. STAT.

POP Commands

The following table describes some of the POP commands:

S.N.Command Description
This command opens the connection.
It is used to display number of messages currently in the mailbox.
It is used to get the summary of messages where each message summary is shown.
This command helps to select a mailbox to access the messages.
It is used to delete a message.
It is used to reset the session to its initial state.
It is used to log off the session.

Pyhton’s poplib module provides classes named pop() and pop3_SSL() which are used to achieve this requirement. We supply the hostname and port number as argument. In the below example we connect to a gmail server and retrieve the messages after supplying the login credentials.

import  poplib

user = 'username' 
# Connect to the mail box 
Mailbox = poplib.POP3_SSL('', '995') 
NumofMessages = len(Mailbox.list()[1])
for i in range(NumofMessages):
    for msg in Mailbox.retr(i+1)[1]:
        print msg

The messages are retrieved when the above program is run.