Функция проверки почты на PHP
Требуется написать единственную функцию на 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. Хотя возможны также библиотеки для упрощения взаимодействия с почтовым сервером с соответстующей лицензией.
Хороший отзыв гарантирую!