Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rejestracja kont e-mail w PHP
pi4sek
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 15.07.2009

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


Witam, robię aplikację do obsługi poczty (webmail) w PHP. Logowanie się i odczytywanie wiadomości to nie problem, ale czy da się napisać rejestrację z tworzenie adresów e-mail. Z pomocą protokołu IMAP chyba nie da rady. Proszę o radę jeśli ktoś zna rozwiązanie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
ale czy da się napisać rejestrację z tworzenie adresów e-mail

Tzn? Tworzenie kont?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
pi4sek
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 15.07.2009

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


Tak. Tworzenie nowego konta e-mail.
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Wystarczy napisać odpowiedni skrypt systemowy. Ale to zależy od demona i systemu. [;

Jeśli chodzi o PHP - przez np. exec" title="Zobacz w manualu PHP" target="_manual wywołujesz ten skrypt, w parametrach podajesz login, hasło, ew. quota i problem z głowy. [;


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
pi4sek
post
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 15.07.2009

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


Wolałbym rozwiązanie w pełnie w PHP, ale jeśli się nie da to może wiesz jak się zabrać do napisania takiego skryptu. Najlepiej żeby skrypt działał na jakimś hostingu z wirtualnym serwerem.
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Wolałbym rozwiązanie w pełnie w PHP

Zapomnij.

Cytat
ale jeśli się nie da to może wiesz jak się zabrać do napisania takiego skryptu. Najlepiej żeby skrypt działał na jakimś hostingu z wirtualnym serwerem.

To zależy. Bo np. do DirectAdmina jest API, którym można działać przez cURL-a.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
pi4sek
post
Post #7





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 15.07.2009

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


To już wolę jakiś skrypt w bashu. Tylko gdzie znajdę coś na ten temat?
Go to the top of the page
+Quote Post
Fifi209
post
Post #8





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(pi4sek @ 16.07.2009, 13:39:44 ) *
To już wolę jakiś skrypt w bashu. Tylko gdzie znajdę coś na ten temat?


W google ;p

Próbuj np. bash tworzenie kont e-mail, bash create e-mail account(s), etc.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
pi4sek
post
Post #9





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 15.07.2009

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


Niestety google nie pomaga. Przydała by mi się komenda na dodanie nowego konta i sprawdzanie już istniejących.
Go to the top of the page
+Quote Post
Fifi209
post
Post #10





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(erix @ 16.07.2009, 13:07:28 ) *
Wystarczy napisać odpowiedni skrypt systemowy. Ale to zależy od demona i systemu. [;


Cytat(pi4sek @ 16.07.2009, 14:07:32 ) *
Niestety google nie pomaga. Przydała by mi się komenda na dodanie nowego konta i sprawdzanie już istniejących.


Wyciągnij sam wnioski.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
erix
post
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Wiesz, niekoniecznie jest potrzebna komenda...

Niektóre serwery korzystają z bazy LDAP, czy SQL do zapisywania informacji o kontach.

Ale to wszystko jest uzależnione od konkretnej konfiguracji, nie ma uniwersalnej recepty.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
linx
post
Post #12





Grupa: Zarejestrowani
Postów: 100
Pomógł: 3
Dołączył: 25.06.2007

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


Przede wszystkim musisz odpowiedzieć sobie na pytanie gdzie są trzymane dane do kont mailowych i do tego przystosować swój skrypt jeśli baza danych do samo php wystarczy, jeśli są to konta systemowe to bash lub python
Go to the top of the page
+Quote Post
pi4sek
post
Post #13





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 15.07.2009

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


Szkoda, że nie ma jakiegoś uniwersalnego rozwiązania, żeby skrypt działał na różnych serwerach.
Go to the top of the page
+Quote Post
erix
post
Post #14





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Jeśli jest panel typu DirectAdmin/cPanel/Plesk, to byłoby uniwersalne.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
pi4sek
post
Post #15





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 15.07.2009

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


Ale wtedy dla każdego panelu trzeba pisać oddzielnie.
Go to the top of the page
+Quote Post
erix
post
Post #16





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Lepiej chyba dla każdego panelu z osobna niż dla każdego demona...

A zapewniam Cię, że tych jest kilkakrotnie więcej.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
pi4sek
post
Post #17





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 15.07.2009

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


Zdecydowałem się na napisanie funkcji dla panelu(cPanel). Może komuś się przyda:
  1. <?php
  2. //konfiguracja
  3. define('CPANEL_HOST', 'adres_do_cpanleu.pl');
  4. define('CPANEL_UZYTKOWNIK', 'login');
  5. define('CPANEL_HASLO', 'haslo');
  6. define('CPANEL_PORT', 2082);
  7. define('CPANEL_KOMPOZYCJA', 'x3polish');
  8. //czy mają wyświetlać się szczegółowe błędy
  9. define('CPANEL_BLEDY', true);
  10.  
  11. function dodajKonto($nazwa, $haslo)
  12.    {
  13.        $post['email'] = $nazwa;
  14.        $post['domain'] = CPANEL_DOMENA;
  15.        $post['pass'] = $haslo;
  16.        $post['pass2'] = $haslo;
  17.        $post['password'] = $haslo;
  18.        $post['password2'] = $haslo;
  19.        $post['quota'] = CPANEL_POJEMNOSC;
  20.  
  21.  
  22.        $ch = curl_init();
  23.        curl_setopt($ch, CURLOPT_URL, 'http://'.CPANEL_HOST.':'.CPANEL_PORT.'/frontend/'.CPANEL_KOMPOZYCJA.'/mail/doaddpop.html');
  24.        curl_setopt($ch, CURLOPT_USERPWD, CPANEL_UZYTKOWNIK.':'.CPANEL_HASLO);
  25.        curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
  26.        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  27.        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  28.        curl_setopt($ch, CURL_FAILONERROR, true);
  29.        $strona = curl_exec($ch);
  30.  
  31.        if (curl_errno($ch))
  32.        {
  33.            $blad = 'Błąd tworzenia konata';
  34.  
  35.              //szczegóły błędu
  36.            if(CPANEL_BLEDY==true)
  37.              $blad .=' [nr '.curl_errno($ch).'] ('.curl_error($ch).')';
  38.  
  39.            throw new Exception($blad);
  40.        }
  41.        curl_close($ch);
  42.  
  43.        if (substr_count($strona, $nazwa.'@'.CPANEL_DOMENA)==0)
  44.        {
  45.            $blad = 'Błąd tworzenia konata';
  46.  
  47.              //szczegóły błędu
  48.            if(CPANEL_BLEDY==true)
  49.              $blad .='<br />'.$strona;
  50.  
  51.            throw new Exception($blad);
  52.        }
  53.    }
  54. ?>


Ten post edytował pi4sek 20.07.2009, 21:42:36
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 Aktualny czas: 20.08.2025 - 05:52