Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Potwierdzenie otrzymania mejla...
swaper
post 28.09.2004, 14:15:43
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 13.09.2004

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


WItam
Wiem ze dzisiaj pisalem ale juz z SMTP w miare sobie poradzilem a teraz mam kolejny juz problem... Mam takie pytanko czy da sie w ogole pobrac dane z mejla... Bo wlasnie potrzebuje zrobic potwierdzenie otrzymania mejla. Wysylam userom z forum przypomnienie na mejla o ich poscie. I w tym mejlu podaje dane tj. id posta, temat, itd. No i wlasnie w tym mejlu chce zrobic cos takiego zeby na dole byl:

Potwierdz otrzymanie mejla:
link


No i pod tym linkiem adres do skryptu. No i pytanie czy da sie cos takigo zrobic zeby wyciagnac id posta dla ktorego poszlo to przypomnienie, zeby wiedziec i zmienic w bazie pole z 0 na 1. Czy moze jest jakis inny sposob... Moze ktos wie jak to napisac. Bede bardzo wdzieczny za kazda pomoc. Z ory WIELKIE DZIEKI.

P.S Albo moze ktos wie jak sie robi takie potwiedzenia i podzieli sie z potrzebujacym.

Pozdro Swaper
Go to the top of the page
+Quote Post
tiraeth
post 28.09.2004, 14:27:56
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


moze tak...

1. Każdy email zapisuj w bazie danych (identyfikator emaila, odbiorca, nadawca, treść, kopia do)
2. Wysyłając maila dodaj linijkę z linkiem do np. http://adres.pl/potwierdz.php i przez get podaj identyfikator (?mid=identyfikatormaila).
3. W pliku potwierdz.php ustaw sobie:
a) pobiera dane bazy i porownuje mid z identyfikatorem z bazy
cool.gif wysyła email na adres podany w polu nadawca o treści, np.

Cytat
Twój mail o identyfikatorze 2avb9a2719182ca70ab8a2719nzxb8a2 wysłany do adres.pobrany@z.bazy został potwierdzony przez odbiorcę!


i tyle smile.gif
Go to the top of the page
+Quote Post
swaper
post 29.09.2004, 08:12:07
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 13.09.2004

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


Witam
DZieki za odpowiedz tylko dalej za bardzo niewiem jak to zrobic.. Jezeli mialby jeszcze chwile czasu i napisal bardziej dla poczatkujacego to bym byl baaarzdo wdzieczny... Bo wiesz wszystko spoko z tego co napisalem tylko nie wiem o co chodzi w tym:
Cytat
. Wysyłając maila dodaj linijkę z linkiem do np. http://adres.pl/potwierdz.php i przez get podaj identyfikator (?mid=identyfikatormaila).

No wlasnie niewiem jak to zrobic zeby przekazywal ten identyfikator.... Wiesz co moze zapodam caly skrypt do wysylania to moze ktos pomoze go poprawic. Przy okazji moze sie czegos naucze o pisanie w php bo na pewno robie rozne bledy poczatkujacego... Z gory WIELKIE DZIEKI.
Kod
<?php
  //skrypt wysyla emeile do userow, ktorzy wprowadzili date nastepnego kontaktu  
    $polacz =  mysql_connect('localhost','user', '***')
   or die ('Nie mozna się połączyć: ' . mysql_error());
    $nazwa_bazy = "baza";
    mysql_select_db($nazwa_bazy);    
    $sql = "SELECT * FROM phpbb_2posts_text";
    $result = mysql_query($sql);
    $dzisiaj = date("Y-m-d");
  
    //funkcja do wysylania mejli z PEAR
    
    function wyslij($email_nad,$nick_nad,$firma,$kontakt,$stanowisko,$telefon,$email,$dat_kon,$data_kon1)
    {
    require_once 'Mail.php';
            $params['host'] = 'smtp.poczta.onet.pl';
    $params['port'] = 25;
    $params['auth'] = true;
    $params['username'] = 'user';
    $params['password'] = '***';
    # nagłówki
    $headers['Subject'] = 'Forum - przypomnienie';
    $headers['From'] = 'user@poczta.onet.pl';
    $body = "Przypominam o kontakcie:
    
      Autor kontaktu: $nick_nad
      
      Nazwa firmy: $firma
      Osoba kontaktowa:$kontakt
      Stanowisko: $stanowisko
      Telefon: $telefon
      Adres e-mail: $email
      Data ostatniego kontaktu: $data_kon
      Data nastepnego kontaktu: $data_kon1";
         
    # do jednego adresata
    $recipients = 'user@poczta.fm';
    # do wielu adresatow
    //$recipients = array('user@poczta.fm',$email_nad);

    $mail = Mail::factory('smtp', $params);

    if (PEAR::isError($mail)) {

        print $mail->getMessage();

    } else {

    $error = $mail->send($recipients, $headers, $body);
    if (PEAR::isError($error)) {
        print $error->getMessage();
    } else {
        print 'KOMUNIKAT: e-mail został wysłany poprawnie!<br>';
    }
    }}
    if ($result)
         {
     while ($row = mysql_fetch_array($result))
     {
     if ($row[8] != NULL)
     {
     printf ("Data: %s <br> ", $row[8]);
     $data_wpr =  strtotime ("$row[8]");
     $data_dzis =  strtotime ("$dzisiaj");
     echo "$data_wpr <br>";
     echo "$data_dzis <br>";
      
     $wynik = $data_wpr - $data_dzis;    
    
     //sprawdz date, jezeli wczoraj to wejdz    
    
     if ( $wynik > 0 && $wynik == 86400 )
     {
     echo "poszlo<br> ";
     if ($row[2]!="")
     {
      printf ("Nazwa firmy: %s <br> ", $row[2]);
      $firma = $row[2];
     }
     else {
     $sql_query1 = "SELECT post_id, topic_id FROM phpbb_2posts"
     or die ("Nie mozna wykonac zapytania");
     $wynik2 = mysql_query($sql_query1);
     if($wynik2)
     {
      while($row2 = mysql_fetch_row($wynik2))
      {
       if($row[0] == $row2[0])
       {
     //zapisz pod zmienna id topicu ze znalezionego posta
       $topic_id = $row2[1];
    
       $sql_query2 = "SELECT topic_id, topic_title FROM phpbb_2topics"
       or die ("Nie mozna wykonac zapytania");
       $wynik3 = mysql_query($sql_query2);
       if($wynik3)
       {
       while($row3 = mysql_fetch_row($wynik3))
       {
       if($topic_id == $row3[0])
       {
       $firma = $row3[1];
       }
              }
       }
       }
      }
     }
     }
          
     if ($row[3]!="")
     {printf ("Osoba kontaktowa: %s <br> ", $row[3]);
      $kontakt = $row[3];
     }  
     if ($row[4]!="")
     {printf ("Stanowisko: %s <br> ", $row[4]);
      $stanowisko = $row[4];
     }
     if ($row[5]!="")
     {printf ("Numer telefonu: %s <br> ", $row[5]);
      $telefon = $row[5];
     }  
     if ($row[6]!="")
     {printf ("Adres e-mail: %s <br> ", $row[6]);
      $email = $row[6];
     }    
     if ($row[7]!="" && $row[7]!='0000-00-00')
     {printf ("Kontakt odbyl sie dnia: %s <br> ", $row[7]);
      $data_kon = $row[7];
     }  
     if ($row[8]!="" && $row[8]!='0000-00-00')
     {printf ("Data nastepnego kontaktu: %s <br> ", $row[8]);
      $data_kon1 = $row[8];
     }    
    
     //ladujemy pod zmienna id posta o ktorym przypominamy
     $post_id = $row[0];    
        
    //szukanie emaila usera
    $sql_query = "SELECT d.user_email,b.post_id,d.username
    FROM phpbb_2users d, phpbb_2posts a, phpbb_2posts_text b

    WHERE b.post_id = a.post_id
    AND d.user_id = a.poster_id"

    or die ("Nie można wykonać zapytania");
    
    $wynik1 = mysql_query($sql_query);
    if ($wynik1)
    {
    while($row1 = mysql_fetch_row($wynik1))
    {
    $post_id1 = $row1[1];
    $email_nad = $row1[0];
    $nick_nad = $row1[2];        
    
    if ($post_id == $post_id1)
  {
    printf("Nick nadawcy: %s <br>", $nick_nad);
      
   wyslij($email_nad,$nick_nad,$firma,$kontakt,$stanowisko,$telefon,$email,$dat_kon,$data_kon1);
  }
    }
    }
    
    }
    else {
     echo "nie poszlo <br>";
   }
  }
  else {}    
  }    
    }    
    
    mysql_close($polacz);
    
?>


No tak to wyglada w calosci. No i wlasnie niewiem jak mam to przez get zapodac bo tak wysylam mejla i podaje tam id posta no i reszte. No i wlasnie myslalem zeby dodac do tej tabeli posts_text no we pole sprawdz i dac na 0. I teraz dopiero jak gosc kliknie na linka ze skryptem to zmieniac to pole na 1 wtedy przestac wysylac. Moze ktos sprubuje popatrzyc na ten skrypt (wiem ze dlugi i mozna by to prosciej zrobic ale dopiero sie ucze i prosze o wyrozumialosc smile.gif ). Z gory dzieki za kazdą wskazówkę.

Pozdro Swaper
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: 28.04.2024 - 19:31