[Закрыть]
 
popoff.donetsk.ua
Нас учат, что самостоятельное мышление - это грех, именуемый «умничанье», и мы должны раскаяться в этом грехе и никогда больше его не совершать.
Начало | Новости | Статьи | Форум | Опросы | Карта сайта | Обо мне
popoff.donetsk.ua - Форум - Программирование на PHP - Просветите, плз, как пользоватся mail.pop

Просветите, плз, как пользоватся mail.pop

форумы popoff.donetsk.ua
Страницы: [1]
<< Новый  |  Старый >>  |  Ответ не возможен

Внимание! Этот топик устарел. Пожалуйста, создайте новый топик, чтобы задать интересующий Вас вопрос.

Автор Сообщение
leksus
Andrey
Окт, 2005
Сообщений: 2
leksus url://forum.message:663
Просветите, плз, как пользоватся mail.pop

Просмотрел я набор функций для получения почты mail.pop.
Насколько я понял, надо сначала юзать функцию _mail_pop_connection_open, потом  mail_pop_login. Так?
Еще вопрос - что за переменная $data? Я так понял, это массив. Какова его структура?

popoff
Yuri
Июл, 2004
Сообщений: 940
popoff url://forum.message:664

Насколько я понял, надо сначала юзать функцию _mail_pop_connection_open


Функции, имена которых начинаются на _ - это функции для внутреннего использования этой библиотекой, их нигде вызывать не нужно.

Насколько я понял, надо сначала юзать функцию _mail_pop_connection_open, потом mail_pop_login. Так?


Вот Вам функция из библиотеки test.mail моей системы popoff.donetsk.ua/light. Привожу ее без купюр. Думаю, она не слишком большая.

Эта функция загружает с сервера список всех сообщений, загружает первые 50 строк из тех сообщений, в заголовках которых есть подстрока, переданная аргументом $header и удаляет с сервера все сообщения (и загруженные, и все остальные). Возвращает массив загруженных писем.

<?php function test_mail_retrive($header='',$print_protocol=false)
{
  
$mail=mail_pop_create();
  if(!
mail_pop_open($mail,TEST_MAIL_POP_HOST,TEST_MAIL_POP_PORT))
  {
    
debug_variable($mail,'mail');
    
test_error('test_mail_retrive','could not open connection');
  }
  if(!
mail_pop_login($mail,TEST_MAIL_POP_USER,TEST_MAIL_POP_PASSWORD))
  {
    
debug_variable($mail,'mail');
    
test_error('test_mail_retrive','could not Log In');
  }
  
$msg=mail_pop_list($mail,'',false);
  
$res=array();
  for(
$i=0;$i<count($msg);$i++)
  {
    if(
$header)
    {
      
$r=mail_pop_retrieve($mail,$msg[$i]['msg'],50);
      if(!
$r)
      {
        
debug_variable($mail,'mail');
        
debug_variable($r,'r');
        
debug_variable($i,'i');
        
test_error('test_mail_retrive','could not retrive message');
        break;
      }
      for(
$j=0;$j<count($r['headers']);$j++)
      {
        if(
strpos($r['headers'][$j],$header)!==false)
        {
          
$res[]=$r;
          break;
        }
      }
    }
    if(!
mail_pop_delete($mail,$msg[$i]['msg']))
    {
      
debug_variable($mail,'mail');
      
test_error('test_mail_clear','could not delete');
      break;
    }
  }
  if(!
mail_pop_close($mail))
  {
    
debug_variable($mail,'mail');
    
test_error('test_mail_clear','could not close connection');
  }
  if(
$print_protocol)
    
debug_variable($mail,'test_mail_retrive');
  return 
$res;
}
?>

Еще вопрос - что за переменная $data? Я так понял, это массив. Какова его структура?


По историческим причинам не полюбилось мне ООП в РНР. Вовсе не потому, что я не знаю, что такое ООП, как работать с объектами и т.п. И даже не потому, что «ООП тормознутее функций» - я вообще сомневаюсь в этом утверждении. Сейчас я не готов толком объяснить, почему. Наверное, основная причина - чтобы везде было одинаково. Нигде нет объектов - значит нигде нет объектов.

Однако, не смотря на мою нелюбовь к объектам в РНР, объекты - это часто удобный и естественный способ представления программы и данных. $data следует рассматривать как массив, в котором содержатся все поля объекта для работы с почтой.

Его структура задается функцией mail_pop_create().

В целом, Вас из этого массива может заинтересовать только элемент $data['protocol'], в котором содержится протокол общения с сервером.

________________________________
Если не будет деревьев — нам нечем будет дышать, если вода загрязнится — нам нечего будет пить.
leksus
Andrey
Окт, 2005
Сообщений: 2
leksus url://forum.message:670

Спасибо за развернутый ответ. Я уже разобрался что к чему.
Жаль, у моего хостера функция fsockopen закрыта на сервере... Бился часа 3 пока не нашел, где собака зарыта. Придется менять хостера.

Внимание! Этот топик устарел. Пожалуйста, создайте новый топик, чтобы задать интересующий Вас вопрос.

Страницы: [1]
<< Новый  |  Старый >>  |  Ответ не возможен
Вход
Поиск[?]:
Программное обеспечение любой сложности
koins.com.ua