<?
function mail_to_pass($address,$login,$pwd){
// Включаем библиотеку mime parser
require_once('rfc822_addresses.php');
require_once('mime_parser.php');
$mime = new mime_parser_class;
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
ob_implicit_flush();
$port = 110; // порт (стандартный pop3 - 110)
try {
// Соединяемся с сервером и делаем авторизацию
echo 'Connect to \''.$address.':'.$port.'\' ... ';
$mbox = imap_open('{'.$address.':'.$port.'/pop3}INBOX', $login, $pwd);
if (!$mbox) {
throw new Exception('imap_open() failed: '.imap_last_error()."\n");
echo "bed";
}
echo "OK\n";
echo 'Authentication ... OK'."\n";
// Определяем кол-во сообщений в ящике и общий размер
$total_count = imap_num_msg($mbox);
// Просматриваем параметры каждого сообщения
for ($i = 1; $i <= $total_count; $i++) {
// Определяем размер сообщения
$msg_size = imap_headerinfo($mbox, $i)->Size;
// echo 'Message '.$i.' size, Kb: '.ceil($msg_size / 1024)."\n";
// Определяем размер сообщения
$body = imap_body($mbox, $i);
// получаем ссылку из письма
preg_match("|(http:\/\/.+?)\s|i", $body, $pass);
// var_dump($pass);
// помечаем на удаление
imap_delete($mbox, $i);
// удаляем письмо
imap_expunge($mbox);
// Определяем дату сообщения
$msg_date = imap_headerinfo($mbox, $i)->udate;
// echo 'Message '.$i.' date: '.date('d.m.Y H:i:s', $msg_date)."\n";
// Определяем тему сообщения
$msg_subject = imap_headerinfo($mbox, $i)->subject;
if ($mime->Decode(Array('Data' => 'Subject: '.$msg_subject), $decoded)) {
if ($mime->Analyze($decoded[0], $results)) {
$msg_subject = $results['Subject'];
}
}
}
}
} catch (Exception $e) {
}
if (isset($mbox)) {
imap_close($mbox);
}
return trim($pass[0]);
}
?>