2017 © Pedro Peláez
 

yii2-extension get-mail

Get Mail from POP3

image

afinogen89/get-mail

Get Mail from POP3

  • Monday, June 18, 2018
  • by Afinogen89
  • Repository
  • 4 Watchers
  • 6 Stars
  • 821 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 1 Open issues
  • 8 Versions
  • 11 % Grown

The README.md

Get Mail from POP3

Класс для получение писем с почтового сервера по протоколу pop3
Часть работы с протоколом было выдернута из zf2, остальное самописное., (*1)

Изначально писалось для yii2, но можно использовать и без него., (*2)

Установка

Установка происходит через composer, (*3)

php composer.phar require --prefer-dist afinogen89/get-mail "dev-master"

или добавлением, (*4)

"afinogen89/get-mail": "*"

в файл composer.json ., (*5)

Использование

Работа только с протоколом:, (*6)

$pop3 = new afinogen89\getmail\protocol\Pop3('example.ru');
$pop3->login('data@example.ru', '123456');
$msgList = $pop3->getList();
$pop3->logout();

Работа с письмами:, (*7)

Протокол POP3, (*8)

$storage = new afinogen89\getmail\storage\Pop3(['host' => 'example.ru', 'user' => 'data@example.ru', 'password' => '123456']);
$msg = $storage->getMessage(1);
$msg->saveToFile('/tmp/1.eml');
echo $msg->getHeaders()->getSubject();

foreach($msg->getParts() as $part) {
    echo $part->getContentDecode().PHP_EOL;
}

foreach($msg->getAttachments() as $t) {
    $t->saveToFile('/tmp/' . $t->filename);
}

Через папку с письмами (расширение файлов eml), (*9)

$storage = new afinogen89\getmail\storage\File(['path' => '../email/']);
$msg = $storage->getMessage(1);
$msg->saveToFile('/tmp/1.eml');
echo $msg->getHeaders()->getSubject();

Пример подключения к gmail, (*10)

$storage = new afinogen89\getmail\storage\Pop3(['host' => 'pop.gmail.com', 'user' => 'test@gmail.com', 'password' => 'pass', 'ssl' => 'SSL']);

Для генерации пароля необходимо создать приложение на странице https://security.google.com/settings/security/apppasswords, (*11)

Подключение нужного хранилища через конфиг, позволяет быстро переключаться не меняя код, (*12)

$storage = afinogen89\getmail\storage\Storage::init(
    [
        'storage' => \afinogen89\getmail\storage\Storage::POP3,
        'host' => 'pop.gmail.com',
        'user' => 'test@gmail.com',
        'password' => '123456',
        'ssl' => 'SSL'
    ]
);

Подключение к yandex
Чтобы корректно заработал скрипт нужно в настройках (Почта - Все настройки - Почтовые программы) поставить галочки "С сервера pop.yandex.ru по протоколу POP3" и "При получении почты по POP3 письма в почтовом ящике Яндекс.Почты помечать как прочитанные"., (*13)

$storage = new \afinogen89\getmail\storage\Pop3(
    [
        'host' => 'pop.yandex.ru',
        'user' => 'test@yandex.ru',
        'password' => '123456',
        'ssl' => 'SSL'
    ]
);

English version

Installation

The preferred way to install this extension is through composer., (*14)

Either run, (*15)

php composer.phar require --prefer-dist afinogen89/get-mail "dev-master"

or add, (*16)

"afinogen89/get-mail": "*"

to the require section of your composer.json file., (*17)

Usage

Once the extension is installed, simply use it in your code by POP3 protocol:, (*18)

$pop3 = new afinogen89\getmail\protocol\Pop3('example.ru');
$pop3->login('data@example.ru', '123456');
$msgList = $pop3->getList();
$pop3->logout();

Get message from mail:, (*19)

$storage = new afinogen89\getmail\storage\Pop3(['host' => 'example.ru', 'user' => 'data@example.ru', 'password' => '123456']);
$msg = $storage->getMessage(1);
$msg->saveToFile('/tmp/1.eml');
echo $msg->getHeaders()->getSubject();

foreach($msg->getParts() as $part) {
    echo $part->getContentDecode().PHP_EOL;
}

foreach($msg->getAttachments() as $t) {
    $t->saveToFile('/tmp/' . $t->filename);
}

The Versions

18/06 2018

dev-master

9999999-dev

Get Mail from POP3

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

by Sergej Pozdnyakov

extension yii2 get mail pop3

22/05 2017

0.0.6

0.0.6.0

Get Mail from POP3

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

by Sergej Pozdnyakov

extension yii2 get mail pop3

17/09 2016

dev-protocol-imap

dev-protocol-imap

Get Mail from POP3

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

by Sergej Pozdnyakov

extension yii2 get mail pop3

13/09 2016

0.0.5

0.0.5.0

Get Mail from POP3

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

by Sergej Pozdnyakov

extension yii2 get mail pop3

09/06 2016

0.0.4

0.0.4.0

Get Mail from POP3

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

by Sergej Pozdnyakov

extension yii2 get mail pop3

16/04 2015

0.0.3

0.0.3.0

Get Mail from POP3

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

by Sergej Pozdnyakov

extension yii2 get mail pop3

14/04 2015

0.0.2

0.0.2.0

Get Mail from POP3

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

by Sergej Pozdnyakov

extension yii2 get mail pop3

30/03 2015

0.0.1

0.0.1.0

Get Mail from POP3

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

by Sergej Pozdnyakov

extension yii2 get mail pop3