Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapis maili do bazy danych
Wolfie
post
Post #1





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Witam

Mam taki sobie oto skrypcik :
Kod
<?php

        $mailbox = "{imap.gmail.com:993/imap/ssl}INBOX";
        $user = "username";
        $pass = "password";

        $mbox = imap_open ($mailbox, $user, $pass)
        or die("can't connect: " . imap_last_error());


        echo "<h1>Mailboxes</h1>\n";
        $folders = imap_listmailbox($mbox, "{imap.gmail.com:993}", "*");

        if ($folders == false) {
            echo "Call failed<br />\n";
        } else {
            foreach ($folders as $val) {
                echo $val . "<br />\n";
            }
        }

        echo "<h1>Headers in INBOX</h1>\n";
        $headers = imap_headers($mbox);

        if ($headers == false) {
        echo "Call failed<br />\n";
        } else {
            foreach ($headers as $val) {
                echo $val . "<br />\n";
            }
        }

        $num = array(1,2,3);
        $numC = count($num);

        echo '<h1>Body of specified message</h1>';
        for ($i = 0; $i < $numC; ++$i)
        {
        $body = imap_body($mbox, $num[$i]);

        if ($body == false) {
            echo 'Call failed (' . $num[$i] . ')<br />';
        }
        else
            echo $body;
        }

        imap_close($mbox)


        ?>


Pominmy wyswietlanie tego co zostalo pobrane.
Nie mam pojecia jak teraz moge zapisac maile wraz z naglowkami do bazy danych po to abym mogl je pozniej z bazy wyciagnac i przeprowadzic na ich zawartosci analize....jaka analize to juz raczej nie ma znacznia , wazne jest to abym wiedzial gdzie konczy sie jeden mail a zaczyna drugi.....chociazby aby zostaly one zapisane do bazy tak aby kazdy mail byl w osobnej komorce.

I jeszcze jedno pytanko.
Czy za pomoca tych funkcji do pobierania maili z powyzszego skryptu pobierane sa rowniez tagi html i wszystkie szczegolowe informacje ktore sa przesylane przez protokoly ?

Ten post edytował Wolfie 28.01.2009, 15:32:33
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Wolfie
post
Post #2





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Moglem wkleic to w poprzednim poscie
Zrobilem cos takiego

  1. <?
  2.  
  3. class Mailbox
  4.    {
  5.        protected $_connection = null;
  6.        
  7.        public function connect($server, $user, $pass, $port = 993, $protocol = 'imap')
  8.            {
  9.                if(!($this->_connection = imap_open('{imap.'.$server.':'.$port.'/'.$protocol.'/ssl}INBOX', $user, $pass)))
  10.                    throw new Exception ('Connection failure');
  11.            }
  12.            
  13.        public function inbox()
  14.            {
  15.                return $this->_sort = imap_sort($this->_connection, SORTARRIVAL, false);
  16.            }
  17.        
  18.        public function show_headers()
  19.            {
  20.                echo "<h1>Headers in INBOX</h1>\n";
  21.                $this->_headers = imap_headers($this->_connection);
  22.                
  23.                if ($this->_headers == false)
  24.                    {
  25.                    echo "Call failed<br />\n";
  26.                    }
  27.                else
  28.                    {
  29.                    foreach ($this->_headers as $val)
  30.                        {
  31.                        echo $val . "<br />\n";
  32.                        }
  33.                    }
  34.            }
  35.    }
  36.  
  37.    
  38. $mailbox = new Mailbox;
  39. $mailbox->connect('gmail.com','jakismail@gmail.com','jakieshaslo','993','imap');
  40. $tab = $mailbox->inbox();
  41. foreach($tab as $wart)
  42.    echo $wart.'<br />';
  43.  
  44.  
  45. $mailbox->show_headers();    
  46. ?>


Tylko ze jak widac tutaj mam pomieszane logike z prezentacja a chcialbym tego uniknac bo raczej to zla praktyka
Kod jest mniej czytelny i nie mozna go wykorzystac w innych przypadkach bez przerobek....ale niestety nie wiem jak to zrobic

Czy w odniesieniu do wzorca MVC Twoja klasa oraz przyklad z postu numer 4 to jest Model ?

Ten post edytował Wolfie 11.02.2009, 00:03:54
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.06.2026 - 13:10