Ищу схему приема, парсинга и отправки email почты

Тема в разделе "PHP", создана пользователем Дмитрий Кесаев, 16 апр 2012.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Дмитрий Кесаев

    Дмитрий Кесаев aka Zlobniy Babko

    Заблокирован
    Регистр.:
    10 май 2007
    Сообщения:
    1.332
    Симпатии:
    1.265
    Ищу схему приема, парсинга и отправки email почты!
    С нуля писать и лень, и незнания(((

    Может кто встречал или есть готовые подобные элементы php скрипта... или носом ткните

    Схема такая:
    [​IMG]

    1. C конторы Мавроди приходит мне письмо на myname@gmail.com с таким содержимым
    2. Скрипт должен подключиться к почте gmail, открыть папку спам или входящие, выдрать письмо и парсером вытащить email участника, т.е. timurko07@mail.ru

    3. Затем должно отправиться письмо (заготовленное) на выдранный ящик участника и параллельно на почту mts, т.е. нужно мне уведомление на телефон что нужно зарегать новичка.
     
    recasher2k12 нравится это.
  2. shaen

    shaen Постоялец

    Регистр.:
    23 июн 2011
    Сообщения:
    51
    Симпатии:
    9
    Посмотрите
    http://ru.php.net/manual/en/ref.imap.php
    http://ru.php.net/manual/en/intro.imap.php (в комментарии для pop3 расписано)

    PHP:
    class EmailReader
    {
        
    /**
        * Host connect to server
        * example: mail.example.com
        * @var string
        */
        
    public $server;
     
        
    /**
        * Port connect to server
        * example: 110, 993, 995
        * @var integer
        */
        
    public $port 110;
       
        public 
    $autoopen false;
     
        
    /**
        * Type connect to server
        * example: pop3, pop3/ssl, pop3/ssl/novalidate-cert
        * @var string
        */
        
    public $type 'pop3';
     
        
    /**
        *
        * @var integer
        */
        
    public $count;
     
        
    /**
        *
        * @var string
        */
        
    public $msg;
     
        
    /**
        * User login connect to server
        * @var string
        */
        
    public $user;
     
        
    /**
        * User password connect to server
        * @var string
        */
        
    public $password;
       
        
    /**
        * Email box handler
        * @var resource
        */
        
    private $box;
     
        public function 
    __constructor()
        {
            if ( ! 
    extension_loaded("imap"))
            {
                throw new 
    CHttpException (500'Could not load extension "imap". Please install extansion.');
            }
               
            if (
    $this->autoopen)
            {
                
    $this->open();
            }
               
        }
       
        public function 
    open()
        {
            if (
    is_resource($this->box))
            {
                
    $this->close();
            }
               
            
    $this->box = @imap_open('{'.$this->server.':'.$this->port.'/'.$this->type.'}INBOX'$this->user$this->password);
           
            if(
    $this->box)
            {
                return 
    true;
            }
               
            if(
    imap_last_error())
            {
                throw new 
    CHttpException (500'imap_last_error() : '.imap_last_error());
            }
            else
            {
                throw new 
    CHttpException (500'Couldn\'t open stream  '.$this->server.':'.$this->port.'.');
            }
           
            return 
    true;
        }
     
        public function 
    close()
        {
            
    imap_close($this->box);
        }
     
        public function 
    count()
        {
            
    $this->count imap_num_msg($this->box);
     
            return 
    $this->count;
        }
     
        public function 
    parse()
        {
            
    $message_count $this->count();
     
            for (
    $i 1$i <= $message_count$i++)
            {
                
    $header imap_header($this->box$i);
                
    $body imap_body($this->box$iFT_PEEK);
     
                
    // Какие то действия
            
    }   
        }
     
        public function 
    delete($id)
        {
            
    imap_delete($this->box$id);
     
            
    imap_expunge($this->box);
        }
       
    }
    Вот простенький класс для чтения почты, добавьте ваш функционал для парсинга и отправки писем
     
    Zlobniy Babko нравится это.
Статус темы:
Закрыта.