Функция проверки почты на PHP

Самойленко20 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
06.09.2005

Требуется написать единственную функцию на PHP, которая должна будет выполнять следующее:

1) Подсоединяться к почтовому серверу;

2) Загружать с него все письма. Должны поддерживаться как протокол POP, так и IMAP;

3) Тела писем должны обрабатываться таким образом, чтобы из них были удалены все HTML-теги, т. е. нужен plain text. Также и тело, и тему письма необходимо перевести в windows-1251;

4) В определённую базу данных, в таблицу inbox (поля такие: id, from, tema, mes, new) для каждого принятого письма вставлять такую запись:

id - auto_increment

from - из заголовка Reply-to (если отсутствует, из From)

tema - тема письма

mes - тело письма в windows-1251

new - 1;

5) Удалять все письма с сервера;

6) Отсоединяться от почтового сервера.

---

Настройки MySQL (имя базы, сервер, логин и пароль), а также процедуру подключения/отключения необходимо выполнять за пределами функции.

---

На входе функции:

define('PROTOCOL_POP', 0);

define('PROTOCOL_IMAP', 1);

function mailcheck($hostname, $username, $userpass, $protocol = PROTOCOL_POP, $portnum = 0);

$hostname - имя сервера

$username - имя пользователя (логин)

$userpass - пароль

$protocol - испольуемый протокол (POP по умолчанию)

$portnum - номер порта: если 0 (по умолчанию) должен исользоваться стандартный для выбранного протокола номер порта (POP - 110, IMAP - 143)

---

На выходе: 1 если письма загружены. Если подключиться не получилось, возвращаем 0, если новых входящих нет, то -1.

---

Для реализации необходимо использовать стандартный сокетный интерфейс PHP. Хотя возможны также библиотеки для упрощения взаимодействия с почтовым сервером с соответстующей лицензией.

Хороший отзыв гарантирую!

Заявки фрилансеров