Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Powiadomienie o nowym komentarzu
Forum PHP.pl > Forum > PHP
Strarus
siema
Jak mogę zrobić automatyczne powiadamianie mnie o tym, że ktoś dodał komentarz na stronie? Tylko nie gotowce haha.gif
nospor
a nie mozesz poprostu wyslac do siebie maila? Dopisz kod do dodawania komentarza, ktory bedzie slal do ciebie maila.

Inne rozwiązanie to np. rss. Zrob sobie rss z komentarzy i go zasubskrybuj smile.gif
Strarus
Ok, odpowiada mi opcja z dodaniem kodu wysyłania maila. Jakich funkcji muszę użyć??
nospor
Uzyj klasy PHPMailer. W google znajdziesz strone domową a w niej klasy i przyklady uzycia
Strarus
Próbowałem ale mi nie wyszło.... Z tąd brałem podpowiedzi: http://60free.ovh.org/pl/support/support_g...sPhpMailer.html ... Niesty nie działa... :
conf:
Kod
<?
require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();

$mail->PluginDir = "phpmailer/";
$mail->From = "powiadomienie_o_nowym_komentarzu@wp.pl"; //adres naszego konta
$mail->FromName = "phpMailer tester";//nagłówek From
$mail->Host = "smtp.wp.pl";//adres serwera SMTP
$mail->Mailer = "smtp";
$mail->Username = "powiadomienie_o_nowym_komentarzu@wp.pl";//nazwa użytkownika
$mail->Password = "*******";//nasze hasło do konta SMTP
$mail->SMTPAuth = true;
$mail->SetLanguage("en", "phpmailer/language/");

$mail->Subject = "Mail testowy";//temat maila

// w zmienną $text_body wpisujemy treść maila
$text_body = "Cześć, chyba phpMailer działa \n\n";
$text_body .= "Na zawsze Twój, \n";
$text_body .= "PHPMailer";

$mail->Body = $text_body;
// adresatów dodajemy poprzez metode 'AddAddress'
$mail->AddAddress("******@********","******");

if(!$mail->Send())
echo "There has been a mail error <br>";
echo $mail->ErrorInfo."<br>";

// Clear all addresses and attachments
$mail->ClearAddresses();
$mail->ClearAttachments();
echo "mail sent <br>";
?>


PS. oto błąd:

Kod
There has been a mail error
SMTP Error: Could not connect to SMTP host.
mail sent
Moli
A ni mozesz w panelu wystwietlić komentarze sortujac po dacie dodania ? Przywiększej ilości komentarzy zabijesz sam siebie tymi meilami smile.gif
Strarus
hehe, właśnie chodzi mi o to, żeby się czegoś nauczyć smile.gif mam sortowanie od najnowszego do najstarszego i wszystko smile.gif właśnie o maila, albo gg mi chodzi smile.gif może wp nie jest kompatybilne?
pyro
tylko po co tutaj PHPMailer...?

Porponuje użyć poprostu funkcji mail();
nospor
Cytat
tylko po co tutaj PHPMailer...?
Bo jest zdecydowanie lepsze i przyjaźniejsze od mail() smile.gif
mail() to przezytek.
Strarus
hehe, ale mail() mi od razu zadziałało smile.gif ale może jednak ktoś pomoże z mailerem smile.gif
pyro
Bueheh... stary ale jary, myślę , że tutaj wsytarczy smile.gif

  1. <?php
  2. $mail->Host = "smtp.wp.pl";//adres serwera SMTP
  3. ?>


sprobuj localhost
Strarus
ale w sensie, że do tego phpmailer?
mike
Cytat(nospor @ 29.12.2008, 20:03:22 ) *
Bo jest zdecydowanie lepsze i przyjaźniejsze od mail() smile.gif
mail() to przezytek.
Piszesz o przeżytkach i polecasz PHPMailera? tongue.gif
Dużo lepszym rozwiązaniem jest Swift tongue.gif
nospor
@mike hehe tongue.gif
Akurat o switf nie slyszalem, a PHPMailer tez dobrze sie ma. Ale w wolnej chwili przyjrze sie twojej propozycji
Strarus
Jak na razie najlepiej sprawdza się mail() biggrin.gif

A jeszcze jedno pytanie smile.gif :
Czy i jak mogę zrobić polskie znaki w tej funkcji, ponieważ w mailu jest np. treść komentarza to zamiast ść są jakieś znaczki... Jak to rozwiązać? Ps. na stronie mam ISO-8859-2
Lejto
wyślij nagłówki header z kodowaniem, wersją mime itp zobacz w manualu
Strarus
A dokładniej? Mój kod wygląda tak:
  1. <?php
  2. if (@mysql_query($sql)) {
  3.      echo '<p>Twój komentarz został dodany.</p>';
  4.  
  5.    $message = "Na stronie ********** zostal dodany komentarz:" . $content_new . " Dodal: " . $nick . " Ip: " . $ip . " WWW: " . $www . " Dnia: " . $data . "";
  6.    mail('****************', 'Dodano komentarz', $message);
  7.    } else {
  8.      echo '<p>Bład podczas dodawania komentarza: ' .
  9.          mysql_error() . '</p>';
  10.    }
  11. ?>


I jak to teraz zmienić aby były polskie znaki?
Lejto
np.
  1. <?php
  2. ///
  3.  
  4. $header .= "MIME-Version: 1.0\n";
  5.  $header .= "Content-type: text/html; charset=iso-8859-2\n";
  6.  $header .= "Return-Path: <$mail>";
  7.  
  8. ///
  9.    mail('****************', 'Dodano komentarz', $message,$header)or die('Nie można wysłać wiadomości');
  10. ;
  11. ///
  12. ?>

tak ja mam
AxZx
Cytat(mike @ 29.12.2008, 20:13:11 ) *
Piszesz o przeżytkach i polecasz PHPMailera? tongue.gif
Dużo lepszym rozwiązaniem jest Swift tongue.gif


a będzie teraz wojna na temat tego która aplikacja lepsza albo starsza?smile.gif
phpmailer - ostatnia aktualizacja w listopadzie 2008
swiftmailer - ostatnia aktualizacja w marcu 2008

phpmailer wg mnie nie jest przeżytkiem:)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.