DEV Community

Cover image for POP3 PHP Client
alexdodonov
alexdodonov

Posted on • Edited on

POP3 PHP Client

Hi! In this article I want to describe my POP3 client for PHP. Originally it was created for integration test, when backend sends email and I need to check it in the inbox. Later this client was improved and now it is quite suitable for enterprize purposes.
Let's start! )

Installation

Just type

composer require mezon/pop3-client 
Enter fullscreen mode Exit fullscreen mode

Usage

Firts of all you need to connect

$client = new \Mezon\Pop3\Client('ssl://your-email-server', 'login', 'password'); 
Enter fullscreen mode Exit fullscreen mode

Or in this way:

$client = new \Mezon\Pop3\Client(); // and somewere further $client->connect('ssl://your-email-server', 'login', 'password'); 
Enter fullscreen mode Exit fullscreen mode

And then you can fetch necessary information from server. Such as:

client->getCount(); // getting count of emails on the server 
Enter fullscreen mode Exit fullscreen mode

Or get headers of the message by it's id, get message's subject or even delete it:

for($i=0; $i<$client->getCount(); $i++) { $headers = $client->getMessageHeaders($i); $subject = $client->getMessageSubject($i); $client->deleteMessage($i); } 
Enter fullscreen mode Exit fullscreen mode

And after all things done you should close connection:

$client->quit(); 
Enter fullscreen mode Exit fullscreen mode

Utility functions

You can also use more high level functions.

Such as deleting email by it's subject:

$client->deleteMessagesWithSubject('Re: some subject'); 
Enter fullscreen mode Exit fullscreen mode

Or check if the email with the specified subject exists:

$client->messageWithSubjectExists('Re: some subject');// true or false will be returned 
Enter fullscreen mode Exit fullscreen mode

Or parse header wich were fetched by the getMessageHeaders(int $i): string and fetch Message-ID field:

$messageId = \Mezon\Pop3\Client::getMessageId($headers); 
Enter fullscreen mode Exit fullscreen mode

Learn more

More information can be found here:

Twitter
Mezon Framework

Top comments (0)