Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inne]wysylanie automatycznych powiadomien na e-mail
17misiek09
post
Post #1





Grupa: Zarejestrowani
Postów: 137
Pomógł: 8
Dołączył: 16.12.2011
Skąd: Kraków

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


mam taki problem:
otoz chcialbym w swoim serwisie ogloszeniowym zrobic cos takiego, aby do kazdego kto wrzucil ogloszenie platne (specjalne, max) otrzymal powiadomienie na e-mail, ktory zostal podany jako kontakt o konczacej sie dacie waznosci ogloszenia - np 3 dni przed uplywem daty waznosci.

zadanie mialoby byc wykonywane codziennie np o 00:01.
hmm pewnie pasowaloby to wykonac w CRON'ie.

tylko pytanie JAK?i CZY jest taka mozliwosc?
do e-maila powiadamiajacego pasuje dodac link z mozliwoscia przedluzenia ogloszenia na kolejny okres, jesli ogloszenie platne to mozliwosc doplaty.
przedluzenie od daty zakonczenia na wybrany okres.

jakies wskazowki?bede wdzieczny!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
17misiek09
post
Post #2





Grupa: Zarejestrowani
Postów: 137
Pomógł: 8
Dołączył: 16.12.2011
Skąd: Kraków

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


nie wiem jak napisac funkcje sprawdzajaca, ktore ogloszenie konczy sie za 3 dni i wyslac e-mail z trescia, w ktorej bedzie link z mozliwoscia przedluzenia...

strona jest stworzona w kohanie - jesli to ma znaczenie.
wydaje sie, ze wszystko jest przygotowane, aczkolwiek nie działa :/
dlaczego??

plik cron.php
  1. <?php
  2.  
  3. class Cron_Controller extends Controller
  4. {
  5.  
  6. public function do_jobs( $hash )
  7. {
  8. if( $hash != Kohana::config('config.cron_hash') )
  9. throw new Exception("Błędny parametr hash");
  10.  
  11. $this->_send_extend_emails();
  12. }
  13.  
  14. private function _send_extend_emails()
  15. {
  16. $adverts = new Adverts_Model();
  17. $emails = new Emails_Model();
  18. $yesterday_expired = $adverts->getYesterdayExpired();
  19. //echo kohana::debug($yesterday_expired);
  20. //die();
  21. foreach( $yesterday_expired as $advert )
  22. {
  23. $data = (array) $advert;
  24. $emails->send($data['contact_email'],null, 'Wygaśnięcie ogłoszenia', View::factory('emails/expired')->bind('data',$data)->render() );
  25. }
  26. }
  27.  
  28.  
  29.  
  30. }
  31.  


dziwi mnie brak na koncu ?>

plik emails.php
  1. <?php
  2.  
  3. class Emails_Model extends Model
  4. {
  5.  
  6. public function send( $to, $from, $subject, $message )
  7. {
  8. $from = array('kontakt@mojastrona.pl', 'mojastrona.pl');
  9.  
  10.  
  11. email::send($to, $from, $subject, $message, TRUE);
  12.  
  13.  
  14. }
  15.  
  16.  
  17. }


znow na koncu brak ?>

znalazlem tez folder emails
a w nim pliki: expired.php
  1. <style>
  2. body{
  3. font-family:arial,tahoma,verdana;
  4. font-size:12px;
  5. color:#5B5B5B;
  6. }
  7. a{
  8. color:#3366D5;
  9. }
  10. a:hover{
  11. text-decoration:underline;
  12. }
  13. </style>
  14.  
  15. Ważność Twojego ogłoszenia wygasła.<br/>
  16. <br/>
  17.  
  18. <b>Tytuł:</b> <?php echo $data['title'];?><br/>
  19. <b>Imię / nazwa firmy:</b> <?php echo $data['name']; ?><br/>
  20. <b>Treść ogłoszenia:</b> <?php echo nl2br($data['text']);?><br/>
  21. <b>Cena:</b> <?php if( $data['price'] == 0 ): ?>do uzgodnienia<?php else: ?><?php echo $data['price'];?><?php endif;?><br/>
  22. <b>Data wygaśnięcia:</b> <?php echo date::format($data['expiry_date']) ?><br/>
  23. <b>Email kontaktowy:</b> <?php echo $data['contact_email'];?><br/>
  24. <b>Telefon kontaktowy:</b> <?php echo $data['contact_phone'];?><br/>
  25. <b>Numer GG:</b> <?php echo $data['contact_gg'];?><br/>
  26. <b>Miejscowość:</b> <?php echo $data['contact_city'];?><br/>
  27. <br/>
  28. <b>Data wygaśnięcia ogłoszenia:</b> <?php echo date::format($data['expiry_date']) ?><br/>
  29. <br/>
  30. Jeśli chcesz przedłużyć podane ogłoszenie kliknij tutaj<br/>
  31. <?php echo html::anchor('przedluz/'.$data['unique_code']);?>
  32. <br/>
  33. <br/>
  34.  
  35.  


added.php - wydaje sie dzialac poprawnie poniewaz potwierdzenie przychodzi
rejected.php - tez poprawnie dziala
payment_required.php - tez dziala
extended.php - zawiera tresc e-maila wysylanego po przedluzeniu - nie dziala, bo nie przychodzi email powiadamiajacy o koncu waznosci
accepted.php - dziala poprawnie

czy na podstawie tych danych jestescie w stanie pomoc mi wyjasnic ta sprawe?
niby wszystko jest a jednak czegos brakuje...
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: 6.10.2025 - 12:43