HowTo: Retrieve Email from a POP3 Server using the Command Line

The POP3 (Post Office Protocol Version 3) is an application-layer Internet standard protocol used by local Email clients to retrieve Email from a remote server over a TCP/IP connection.

This tutorial shows how to connect to POP3 mail server and manage incoming Email using the ‘telnet’ command.

Step 1: Open a connection from your computer to a POP3 mail server

$ telnet pop.domain.ext 110
Trying ???.???.???.???...
Connected to pop.domain.ext.
Escape character is '^]'.
+OK ready
  • pop.domain.ext – Your mail server;
  • 110 – Default port for POP3.

Step 2: Type your Login

> USER username
+OK Password required for UserName.

Step 3: Type your Password

> PASS password
+OK username has ? visible messages (? hidden) in ????? octets.

POP3 Commands with Description

Here are the basic POP3 commands, that you can use to manage your incoming Email.

CommandDescriptionExample
USER [username] 1st login command USER Stan
+OK Please enter a password
PASS [password] 2nd login command PASS SeCrEt
+OK valid logon
QUIT Logs out and saves any changes QUIT
+OK Bye-bye.
STAT Returns total number of messages and total size STAT
+OK 2 320
LIST Lists all messages LIST
+OK 2 messages (320 octets)
1 120
2 200

LIST 2
+OK 2 200
RETR [message] Retrieves the whole message RETR 1
+OK 120 octets follow.
***
DELE [message] Deletes the specified message DELE 2
+OK message deleted
NOOP The POP3 server does nothing, it merely replies with a positive response. NOOP
+OK
RSET Undelete the message if any marked for deletion RSET
+OK maildrop has 2 messages (320 octets)
TOP [message] [number] Returns the headers and number of lines from the message TOP 1 10
+OK
***
0 (0)
Article Rating (No Votes)
Rate this article
Attachments
There are no attachments for this article.
Comments
There are no comments for this article. Be the first to post a comment.
Full Name
Email Address
Security Code Security Code
Related Articles RSS Feed
Easily Find Bugs In Shell Scripts With ShellCheck
Viewed 599 times since Thu, Apr 18, 2019
7 Tips – Tuning Command Line History in Bash
Viewed 1073 times since Fri, Jul 5, 2019
How to maximise SSD performance with Linux
Viewed 141 times since Fri, May 15, 2020
LVM: Extend an existing Logical Volume / Filesystem
Viewed 762 times since Sat, Jun 2, 2018
LOGROTATE – ARCHIWIAZACJA LOGÓW
Viewed 474 times since Fri, Nov 30, 2018
How to use yum-cron to automatically update RHEL/CentOS Linux
Viewed 362 times since Wed, Oct 17, 2018
debian How to Upgrade Debian 8 Jessie to Debian 9 Stretch
Viewed 626 times since Sun, Sep 23, 2018
RHEL : How to deal with “CLOSE_WAIT” and “TIME_WAIT” connection
Viewed 3101 times since Thu, Feb 14, 2019
LVM basic
Viewed 726 times since Sat, Jun 2, 2018
RHEL7: Configure automatic updates.
Viewed 405 times since Wed, Oct 17, 2018