Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> obsługa poczty w php
pawel_k
post 20.08.2006, 20:19:13
Post #1





Grupa: Zarejestrowani
Postów: 211
Pomógł: 3
Dołączył: 29.07.2005
Skąd: Szczebrzeszyn

Ostrzeżenie: (0%)
-----


witam,
mam zamiar (a raczej przymus winksmiley.jpg ) napisania systemu obsługi poczty jako modul do systemu CRM. jesli chodzi o wysyłanie poczty to nie jest to problem, gorzej z pobieraniem poczty i sprawdzanie konta... a ze nie znalazlem nic ciekawego na forum, to zakladam ten temat...

proszę o pomoc jeśli chodzi o kwestie takie jak wymagania stawiane przez taki system (czy konta pocztowe muszą być w jakikolwiek sposób związane z serwerem www, czy są inne ograniczenia), czy są jakieś gotowe biblioteki (najlepiej napisane w php5) lub gotowe moduły do php (chociazby w peclu), czy są stawiane jakiekolwiek wymagania odnosnie apacha czy php, w jaki sposób się komunikować z serwerem poczty itp... wlasciwie cokolwiek co moze sie przydac, szczegolnie Wasze doswiadczenia i sugestie w tym temacie

ps. proszę mnie nie odsyłać do gotowych narzędzi tego typu (wiem że są, np. dobre uebimiay czy roundcube-webmail), bo mi zalezy bardziej na podejsci niz na przegladaniu kodu, a wiem że raczej na pewno juz takie moduły pisaliscie wiec lepiej abyście naprowadzili mnie (i mysle ze nie tylko mnie) jak to ugyżć, z jakich bibliotek skorzystać i jakich problemów mogę się spodziewać...
Go to the top of the page
+Quote Post
dtb
post 21.08.2006, 09:29:56
Post #2





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

Ostrzeżenie: (0%)
-----


manual php: nic dodac, nic ujac
http://pl2.php.net/manual/pl/function.imap-open.php


--------------------
Go to the top of the page
+Quote Post
bim2
post 21.08.2006, 19:09:48
Post #3





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


A czy jestes jakas alternatywa do tego?? Bo aj nie mam tej funkcji na serwerze ;D

Ten post edytował bim2 21.08.2006, 19:10:19


--------------------
Go to the top of the page
+Quote Post
dtb
post 22.08.2006, 10:51:22
Post #4





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

Ostrzeżenie: (0%)
-----


chyba nie ma. sprobuj wygooglac czegos o protokole pop3 i php


--------------------
Go to the top of the page
+Quote Post
thornag
post 22.08.2006, 11:01:58
Post #5





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Poczytaj tez tutaj Piszemy klienta poczty e-mail w php


--------------------
"Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"

Go to the top of the page
+Quote Post
bim2
post 22.08.2006, 13:15:44
Post #6





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Cytat
Tylko jak się do tego zabrać, co jest potrzebne? Otóż do stworzenia takiego czegoś potrzeba php, odrobiny inwencji, oraz rozszerzenia IMAP.

A ja na serwerze nie mam imap, nie robie to na localhosta. Znalazłem tylko skrypt wysyłajacy emaila (z danych smtp) działa na zasadzie fsockopen tyle że musze czytać maile winksmiley.jpg

Skrypt:
  1. <?php
  2. function smtp_mail($mail_to, $subject, $message, $headers)
  3. {
  4. global $mailer, $config;
  5.  
  6.  
  7. if (!$socket = fsockopen($config['smtp_host'], 25, $errno, $errstr, 20))
  8. return false;
  9.  
  10. if (!server_parse($socket, '220'))
  11. return false;
  12.  
  13. if ($config['smtp_user'] != '' && $config['smtp_pass'] != '')
  14. {
  15.  
  16.  fputs($socket, 'EHLO ' . $config['smtp_host'] . "rn");
  17. if (!server_parse($socket, '250'))
  18. return false;
  19.  
  20.  fputs($socket, "AUTH LOGINrn");
  21. if (!server_parse($socket, '334'))
  22. return false;
  23.  
  24.  
  25. fputs($socket, base64_encode($config['smtp_user']) . "rn");
  26. if (!server_parse($socket, '334'))
  27. return false;
  28.  
  29. fputs($socket, base64_encode($config['smtp_pass']) . "rn");
  30. if (!server_parse($socket, '235'))
  31. return false;
  32.  
  33. }
  34. else
  35. {  // Jezeli serwer nie wymaga autoruzacji.
  36. fputs($socket, 'HELO ' . $config['smtp_host'] . "rn");
  37. if (!server_parse($socket, '250'))
  38. return false;
  39. }
  40.  
  41.  
  42. fputs($socket, 'MAIL FROM: <' . $mailer['admin'] . ">rn");
  43. if (!server_parse($socket, '250'))
  44. return false;
  45. fputs($socket, 'RCPT TO: <' . $mail_to . ">rn");
  46. if (!server_parse($socket, '250'))
  47. return false;
  48. fputs($socket, "DATArn");
  49. if (!server_parse($socket, '354'))
  50. return false;
  51. fputs($socket, 'Subject: ' . $subject . "rn");
  52. if (strlen($mail_to))
  53. fputs($socket, 'To: <' . $mail_to . ">rn");
  54. fputs($socket, $headers . "rnrn");
  55. fputs($socket, $message . "rn");
  56. fputs($socket, ".rn");
  57. if (!server_parse($socket, '250'))
  58. return false;
  59. fputs($socket, "RSETrn");
  60. if (!server_parse($socket, '250'))
  61. return false;
  62.  
  63. fputs($socket, "QUITrn");
  64. fclose($socket);
  65.  
  66. return true;
  67. }
  68.  
  69. // Parse a message to the SMTP server.
  70. function server_parse($socket, $response)
  71. {
  72. // No response yet.
  73. $server_response = '';
  74.  
  75. while (substr($server_response, 3, 1) != ' ')
  76. if (!($server_response = fgets($socket, 256)))
  77. return false;
  78.  
  79. if (substr($server_response, 0, 3) != $response)
  80. return false; 
  81.  
  82. return true;
  83. }
  84. ?>


--------------------
Go to the top of the page
+Quote Post
pawel_k
post 24.08.2006, 10:36:34
Post #7





Grupa: Zarejestrowani
Postów: 211
Pomógł: 3
Dołączył: 29.07.2005
Skąd: Szczebrzeszyn

Ostrzeżenie: (0%)
-----


thx za linki, sporo rozjaśniają, jednak po chwili testów wychodzą rózne sprawy, np.:
- w jaki sposób zarządzać załącznikami? teraz widzę że pobierając treść wiadomośći pobiera mi również załącznik i dołancza go do wiadomości tekstowo. czy można w jakiś sposób pobrać tylko załączniki?
przykładowa wiadomość z załącznikiem: (pobrana za pomocą imap_body() )
Kod
string(9985) "This is a multi-part message in MIME format.
--------------080109020501070400030303
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit

TEST POLKICH ZNAKÓW: ęóąśłżźćń?ĘÓĄŚŁŻŹĆŃ

--------------080109020501070400030303
Content-Type: application/x-dia-diagram;
name="schema.dia"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="schema.dia"

H4sIAAAAAAAAA+1dXW/jRpZ971/BdV46gFzNYrH4EU1nECSzswtkdoPZZBeYF6MssWW2KVJL
Uq2WHvYh2MX8hsb8jLzmLd3/a6tI2W5JlESRLMp2TgNxZPmKt4riuSzec+6tP/zx/TQy3gVp
Fibx6wtKzAsjiEfJOIwnry9++vGfL72LP3794g/jUHwl/5ukYmrIT8SZ+u31xU2ez7569Wqx

(i tutaj dalsza czesc pliku)

- jakim kodowanie krąży poczta po polsce, czy zawsze jest to ISO-8859-2?
- przykładowo temat składający się z polskich znaków (ęóąśłżźćń?ĘÓĄŚŁŻŹĆŃ) zostaje pobrany jako:
=?ISO-8859-2?Q?=EA=F3=B1=B6=B3=BF=BC=E6=F1=3F=CA=D3=A1=A6=A3=AF=AC?= =?ISO-8859-2?Q?=C6=D1?=
wiec czy zawsze mogę sie spodziewac takiego formatowania?

to sobie sam odpowiem winksmiley.jpg
http://phpsolmag.org/pl/index.php - w artykulach mozna znalezc pdf'a opisujacego budowe klienta pocztowego, co prawda artykul jest bardzo stary i go jeszcze nie sprawdzalem ale mysle ze sama idea jesli chodzi o pobieranie i obrobke maili nie zmienila sie zbytnio...
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 6.07.2025 - 21:20