класс для работы с почтой

Тема в разделе "PHP", создана пользователем kud, 11 окт 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. kud

    kud Постоялец

    Регистр.:
    18 фев 2009
    Сообщения:
    89
    Симпатии:
    11
    Есть у кого-то готовый ?
    Какой посоветуете?
    Нужна реализация отправки через smtp с авторизацией и чтение через IMAP или POP3.
     
  2. Sanuch

    Sanuch

    Регистр.:
    25 май 2009
    Сообщения:
    207
    Симпатии:
    70
  3. Dziamid

    Dziamid Создатель

    Регистр.:
    8 окт 2008
    Сообщения:
    11
    Симпатии:
    0
    PEAR MAIL::SMTP поддерживает аутентификацию
     
  4. potuga

    potuga

    Регистр.:
    22 сен 2009
    Сообщения:
    376
    Симпатии:
    91
    С imap и так не сложно работать, вот пару дней назад писал для сбора пассов с gmail'а:

    PHP:
    $login "login";
    $password "password";

    $server '{imap.gmail.com:993/ssl/novalidate-cert}';
    $connection imap_open($server$login$password);
     
    $count imap_num_msg($connection);

    for(
    $i 1$i <= $count$i++) {
        
    $header imap_headerinfo($connection$i);
        if (
    $header->Unseen=="U" && $header->subject=="Welcome to biz.nf") {
        
    $raw_body imap_body($connection$i);

        
    preg_match("|Client ID: (.*?)<br>|is"$raw_body$out);
        
    $id $out[1];
        
    preg_match("|Password: (.*?)<br>|is"$raw_body$out);
        
    $pass $out[1];
        
    add_f($id.":".$pass."\n");

        
    imap_setflag_full($connection$i"\\Seen");
        }
    }

    imap_close($connection);
    Для отправки же можно помучатся самому:

    Описание протокола SMTP
    Отправка почты средствами PHP

    Но проще будет использовать PEAR либо phpmailer:

    Mail_Mime
    Исчерпывающая инструкция по PHP Mailer

    Желаю удачи ;)
     
    prof.seo нравится это.
  5. victor89

    victor89 Постоялец

    Регистр.:
    6 май 2008
    Сообщения:
    83
    Симпатии:
    14
    Есть отличный ресурс для web-разработчиков. Просто море различных класов и примеров на любой случай)
     
  6. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    phpmailer посмотри , весьма функциональный
    с gmail работает
     
  7. copch

    copch Прохожие

    +1! Лучший имхо...
     
  8. chubaka

    chubaka Писатель

    Регистр.:
    2 авг 2007
    Сообщения:
    3
    Симпатии:
    0
    на phpclasses.org такого добра много
     
  9. pierrevk

    pierrevk Постоялец

    Регистр.:
    22 сен 2009
    Сообщения:
    59
    Симпатии:
    5
    Could not instantiate mail function

    На хостинге вылезает ошибка "Could not instantiate mail function" при использовании phpmailer.
    Братья, подскажите пожалуйста, как лечить, как найти ошибку?
     
  10. a_n_d_y

    a_n_d_y

    Регистр.:
    26 мар 2006
    Сообщения:
    465
    Симпатии:
    61
    Это ты у хостера спроси ;)
    Данная ошибка вызывается только в одном месте.
    PHP:
      public function MailSend($header$body) {

        
    $to '';
        for(
    $i 0$i count($this->to); $i++) {
          if(
    $i != 0) { $to .= ', '; }
          
    $to .= $this->AddrFormat($this->to[$i]);
        }

        
    $toArr split(','$to);

        
    $params sprintf("-oi -f %s"$this->Sender);
        if (
    $this->Sender != '' && strlen(ini_get('safe_mode'))< 1) {
          
    $old_from ini_get('sendmail_from');
          
    ini_set('sendmail_from'$this->Sender);
          if (
    $this->SingleTo === true && count($toArr) > 1) {
            foreach (
    $toArr as $key => $val) {
              
    $rt = @mail($val$this->EncodeHeader($this->SecureHeader($this->Subject)), $body$header$params);
            }
          } else {
            
    $rt = @mail($to$this->EncodeHeader($this->SecureHeader($this->Subject)), $body$header$params);
          }
        } else {
          if (
    $this->SingleTo === true && count($toArr) > 1) {
            foreach (
    $toArr as $key => $val) {
              
    $rt = @mail($val$this->EncodeHeader($this->SecureHeader($this->Subject)), $body$header$params);
            }
          } else {
            
    $rt = @mail($to$this->EncodeHeader($this->SecureHeader($this->Subject)), $body$header);
          }
        }

        if (isset(
    $old_from)) {
          
    ini_set('sendmail_from'$old_from);
        }

        if(!
    $rt) {
          
    $this->SetError($this->Lang('instantiate'));
          return 
    false;
        }

        return 
    true;
      }
    После пары движений извилиной понимаем, что функция mail не фурычит ;)
     
Статус темы:
Закрыта.