Retrieving Email with Net::POP3
You can use SMTP to send mail, but not to retrieve it. For retrieving messages, use the Post Office Protocol Version 3 (POP3), described in RFC 1081. One way to do this is to use the Net::POP3 module. POP3 provides commands for interacting with the POP server, typically bound to port 110. Net::POP3 automates the transfer of email from a remote server to the local machine.
The POP server retrieves messages from a specified spooling
directory on the remote system. The messages are stored in a file
named for the username ; anonymous logins are not permitted. Authentication
is based on username and password and is done by sending the USER
and PASS commands to the POP server. For example, identification of
user foo
with password bar
looks like this:
USER foo PASS bar
Net::POP3 has user
and pass
methods but may also
authenticate users with login
,
which takes both username and password arguments. If authentication
fails, the user cannot retrieve, delete, or alter any messages from
the mail server. login
returns
the number of messages on the POP server for the user, or undef
if authentication fails.
Authenticated users can retrieve information about their mailboxes and can get specific messages by message number.
A POP session to retrieve a mail message is negotiated with the server through the following steps:
Connect to the POP server (the default port is 110).
Send USER command.
Send PASS command.
If authenticated, receive number of messages.
Send RETR < ...
Get Perl in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.