Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]imap_open a przechodenie miedzy mailboxami
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 kawalek kodu :

  1. function mailbox() {
  2. $_SESSION['login'] = $_POST['mailbox'];
  3. $_SESSION['pass'] = $_POST['pass'];
  4. if(($this->model->connect('gmail.com',$_SESSION['login'],$_SESSION['pass'],'993','imap')) == false) {
  5. $this->view = new LoginView;
  6. $this->view->display('login');
  7. echo 'Niepoprawny login lub hasło!';
  8. } else {
  9. echo 'Zalogowany!';
  10. $this->model->inbox();
  11. $view = new LoginView;
  12. $boxes = $this->model->getMailboxes();
  13. $msgsParts = $this->model->getMsgsParts(333);
  14. $view->setVars('boxes', $boxes);
  15. $view->setVars('parts',$msgsParts);
  16. $view->display($_POST['action']);
  17. }
  18. }


Jak widac mamy tutaj taka linijke kodu :
  1. $this->model->connect('gmail.com',$_SESSION['login'],$_SESSION['pass'],'993','imap'))


Ktora uruchamia funkcje znajdujaca sie w innej klasie :
  1. public function connect($server, $user, $pass, $port = 993, $protocol = 'imap') {
  2. if(!($this->_connection = imap_open('{imap.'.$server.':'.$port.'/'.$protocol.'/ssl}', $user, $pass))){
  3. //throw new Exception('Mailserver connection failure');
  4. return false;
  5. } else {
  6. return $this->_connection;
  7. }
  8. }


No i tutaj jest wszystko ok, ale teraz chce przelaczyc sie na inny mailbox (przejsc do innego widoku) w tej samej skrzynce i do tego sluzy mi taka funkcja :
  1. function reconnect($mailbox) {
  2. $server = '{imap.gmail.com:993/ssl}'.$mailbox;
  3. echo $server;
  4. if($this->_connection == false) {
  5. echo 'not connected';
  6. } else {
  7. echo 'connected';
  8. }
  9. $this->_reconnection = imap_reopen($this->_connection, $server) or die(imap_errors());
  10. }


Jako argument ta funkcja dostaje nazwe skrzynki zwrocony przez imap_list i lekkich modyfikacjach na stringu....

No i dostaje taki blad

Cytat
imap_reopen(): supplied argument is not a valid imap resource


A do tego wchodzi mi w warunek if($this->_connection == false) tak jakby tracil połączenie do skrzynki.......

No i teraz pytanie, czy za kazdym razem jak chce połączyc sie z inna skrzynka to musze odnawiac połączenie z serwerem ?
Troche to by bylo dziwne ze musze najpierw wywolac imap_open a zaraz pozniej imap_reopen...

Prosze kogos z wieksza wiedza odemnie na ten temat o podpowiedz ....

Ten post edytował Wolfie 12.10.2009, 11:54:04
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: 23.08.2025 - 16:15