2017 © Pedro Peláez
 

library imap

Imap class for PHP

image

port-adhoc/imap

Imap class for PHP

  • Thursday, November 30, 2017
  • by khalyomede
  • Repository
  • 1 Watchers
  • 1 Stars
  • 36 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 33 Versions
  • 13 % Grown

The README.md

Packagist minimum PHP version Packagist version Packagist licence, (*1)

imap-php

Uid oriented Imap class, (*2)

Summary

Installation

In your repository :, (*3)

composer require port-adhoc/imap

back to summary, (*4)

Usage

Example 1 : traversing a whole mailbox and retriving its content

use PortAdhoc\Imap\Imap;
use PortAdhoc\Imap\Encoding;

$imap = new Imap;

$imap->server = 'example.host.com';
$imap->port = 993;
$imap->flags = ['imap', 'ssl', 'readonly'];
$imap->user = 'example@host.com';
$imap->password = 'example';
$imap->mailbox = 'INBOX';
$imap->start = '1';
$imap->end = '*';

$imap->connect();

$messages = $imap->getMessages();

foreach( $messages as $message ) {
  $subject = $message->getSubject();
  $date = $message->getDate();
  $from = $message->getFrom();
  $to = $message->getTo();
  $cc = $message->getCC();
  $bcc = $message->getBCC();
  $text = $message->getPlainText( Encoding::UTF_8 );
  $html = $message->getPlainText( Encoding::UTF_8 );
  $attachments = $message->getAttachments();
}

back to summary, (*5)

Function list

Attachment

getName

public function getName(): string

Example:, (*6)

use PortAdhoc\Imap\Imap;

$imap = new Imap;

$imap->server = 'example.host.com';
$imap->port = 993;
$imap->flags = ['imap', 'ssl', 'readonly'];
$imap->user = 'example@host.com';
$imap->password = 'example';
$imap->mailbox = 'INBOX'; // or INBOX/folder
$imap->start = '500'; // uid
$imap->end = '500'; // uid

$imap->connect();

$uid = 500;

$message = $imap->getMessage( $uid );

$attachments = $message->getAttachments();

foreach( $attachments as $attachment ) {
    $name = $attachment->getName();

    echo $name;
}

Result:, (*7)

> php script.php
reporting result quarter 4.xlsx

getContent

public function getContent(): string

Example:, (*8)

use PortAdhoc\Imap\Imap;

$imap = new Imap;

$imap->server = 'example.host.com';
$imap->port = 993;
$imap->flags = ['imap', 'ssl', 'readonly'];
$imap->user = 'example@host.com';
$imap->password = 'example';
$imap->mailbox = 'INBOX'; // or INBOX/folder
$imap->start = '500'; // uid
$imap->end = '500'; // uid

$imap->connect();

$uid = 500;

$message = $imap->getMessage( $uid );

$attachments = $message->getAttachments();

foreach( $attachments as $attachment ) {
    $name = $attachment->getName();
    $content = $attachement->getContent();
    $path = __DIR__ . '/' . $name; // inside the current repository

    file_put_contents( $path, $content );
}

Result:, (*9)

/vendor
composer.json
composer.lock
script.php
reporting result quarter 4.xlsx

Imap

Imap construct

public function __construct(): PortAdhoc\Imap\Imap

Example:, (*10)

use PortAdhoc\Imap\Imap;

$imap = new Imap;

back to function list, (*11)

back to summary, (*12)

Imap properties

public string $server;
public int $port;
public string $user;
public string $password;
public string $mailbox;
public int $connection_time;
public int $message_fetching_time;
public string $start; // uid
public string $end; // uid

back to function list, (*13)

back to summary, (*14)

connect

public function connect(): PortAdhoc\Imap\Imap

Example:, (*15)

use PortAdhoc\Imap\Imap;

$imap = new Imap;

$imap->server = 'example.host.com';
$imap->port = 993;
$imap->flags = ['imap', 'ssl', 'readonly'];
$imap->user = 'example@host.com';
$imap->password = 'example';
$imap->mailbox = 'INBOX'; // or INBOX/folder
$imap->start = '1'; // uid
$imap->end = '500'; // uid

$imap->connect();

back to function list, (*16)

back to summary, (*17)

getMessage

public function getMessage( int $uid ): PortAdhoc\Imap\Message

Example:, (*18)

use PortAdhoc\Imap\Imap;

$imap = new Imap;

$imap->server = 'example.host.com';
$imap->port = 993;
$imap->flags = ['imap', 'ssl', 'readonly'];
$imap->user = 'example@host.com';
$imap->password = 'example';
$imap->mailbox = 'INBOX'; // or INBOX/folder
$imap->start = '1'; // uid
$imap->end = '500'; // uid

$imap->connect();

$uid = 500;

$message = $imap->getMessage( $uid );

back to function list, (*19)

back to summary, (*20)

getMessages

public function getMessages(): PortAdhoc\Imap\Message[]

Example:, (*21)

use PortAdhoc\Imap\Imap;

$imap = new Imap;

$imap->server = 'example.host.com';
$imap->port = 993;
$imap->flags = ['imap', 'ssl', 'readonly'];
$imap->user = 'example@host.com';
$imap->password = 'example';
$imap->mailbox = 'INBOX'; // or INBOX/folder
$imap->start = '1'; // uid
$imap->end = '500'; // uid

$imap->connect();

$messages = $imap->getMessages();

foreach( $messages as $message ) {
  // ...
}

back to function list, (*22)

back to summary, (*23)

getConnectionString

public function getConnectionString(): string

Example:, (*24)

use PortAdhoc\Imap\Imap;

$imap = new Imap;

$imap->server = 'example.host.com';
$imap->port = 993;
$imap->flags = ['imap', 'ssl', 'readonly'];
$imap->user = 'example@host.com';
$imap->password = 'example';
$imap->mailbox = 'INBOX'; // or INBOX/folder
$imap->start = '1'; // uid
$imap->end = '500'; // uid

$cs = $imap->getConnectionString();

echo $cs;

Result:, (*25)

> php script.php
{example.host.com:993/imap/ssl/readonly}INBOX/folder

back to function list, (*26)

back to summary, (*27)

Email

Email properties

public $email;
public $name;

Example:, (*28)

use PortAdhoc\Imap\Imap;

$imap = new Imap;

$imap->server = 'example.host.com';
$imap->port = 993;
$imap->flags = ['imap', 'ssl', 'readonly'];
$imap->user = 'example@host.com';
$imap->password = 'example';
$imap->mailbox = 'INBOX';

$uid = 500;

$message = $imap->getMessage( $uid );

$from = $message->getFrom();

$email = $from->email;
$name = $from->name;

echo $name . ' ' . $email;

Result:, (*29)

> php script.php
John Doe john.doe@contoso.com

back to function list, (*30)

back to summary, (*31)

The Versions

30/11 2017

dev-master

9999999-dev

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

30/11 2017

v0.1.31

0.1.31.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

30/11 2017

v0.1.30

0.1.30.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

29/11 2017

v0.1.29

0.1.29.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

29/11 2017

v0.1.28

0.1.28.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

29/11 2017

v0.1.27

0.1.27.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

29/11 2017

v0.1.26

0.1.26.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

29/11 2017

v0.1.25

0.1.25.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

29/11 2017

v0.1.24

0.1.24.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

28/11 2017

v0.1.23

0.1.23.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

28/11 2017

v0.1.22

0.1.22.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

28/11 2017

v0.1.21

0.1.21.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

28/11 2017

v0.1.20

0.1.20.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

28/11 2017

v0.1.19

0.1.19.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

28/11 2017

v0.1.18

0.1.18.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

28/11 2017

v0.1.17

0.1.17.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

28/11 2017

v0.1.16

0.1.16.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

28/11 2017

v0.1.15

0.1.15.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

28/11 2017

v0.1.14

0.1.14.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

28/11 2017

v0.1.13

0.1.13.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

28/11 2017

v0.1.12

0.1.12.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

28/11 2017

v0.1.11

0.1.11.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

23/11 2017

v0.1.10

0.1.10.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

21/11 2017

v0.1.9

0.1.9.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

21/11 2017

v0.1.8

0.1.8.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

21/11 2017

v0.1.7

0.1.7.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

21/11 2017

v0.1.6

0.1.6.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

21/11 2017

v0.1.5

0.1.5.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

21/11 2017

v0.1.4

0.1.4.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

21/11 2017

v0.1.3

0.1.3.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

21/11 2017

v0.1.2

0.1.2.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

21/11 2017

v0.1.1

0.1.1.0

Imap class for PHP

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Port Adhoc

20/11 2017

v0.1.0

0.1.0.0

Imap class for PHP

  Sources   Download

Port Adhoc

The Requires

  • php >=5.3.0

 

by Port Adhoc