Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [klasa] mailing
piotrooo89
post
Post #1


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




dziękuje za wszelkie porady, uwagi. zabieram się do poprawek.

proszę również o dalsze komentarze.

Odłożyłem na chwile stronicowanie, potrzeba chwili wymogła na mnie zrobienie newslettera. Nie chce zakładać kolejnego tematu więc pokaże go tu. Jest to najprostsze wysyłanie maila, tymczasowo bez nagłówków. Powiedzcie mi czy idę w dobrą stronę.

newsletter-class.php
  1. <?php
  2. class Newsletter
  3. {
  4.    public function GetMailsFromFile($file, $separator)
  5.    {
  6.        $string = file_get_contents($file);
  7.        $mails_file = explode($separator, $string);
  8.        return $mails_file;
  9.    }
  10.    public function GetMailsFromDb($sql)
  11.    {
  12.        $sql_query = mysql_query($sql);
  13.        while ($rows = mysql_fetch_row($sql_query))
  14.        {
  15.            $mails_db[] = $rows[0];
  16.        }
  17.        return $mails_db;
  18.    }
  19.    public function Send($where, $subject, $message)
  20.    {
  21.        foreach($where as $mails)
  22.        {
  23.            mail($mails, $subject, $message);
  24.        }
  25.    }
  26. }
  27. ?>


index.php
  1. <?php
  2. require_once ('newsletter-class.php');
  3. require_once ('mysql.php');
  4.  
  5. $topic = 'Test';
  6. $msg = 'Wiadomość testowa';
  7.  
  8. $sql = 'SELECT mail FROM emails';
  9.  
  10. $news = new Newsletter();
  11. $file = $news -> GetMailsFromFile('mail.txt', ';');
  12. $db = $news -> GetMailsFromDb($sql);
  13. // z pliku
  14. $news -> Send($file, $topic, $msg);
  15. //lub lub bazy
  16. $news -> Send($db, $topic, $msg);
  17. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Według mnie mógłbyś dać więcej metod typu
Kod
setMessage( $msg )
{
$this->msg = stripslashes( $msg );
}
addAddress( $address )
{
//walidacja adresu
}

Albo jeszcze sprawdzać czy wiadomość nie jest pusta.

  1. <?php
  2. public function addHeaders($value)
  3.   {
  4.       $this->headers[] = $value;
  5.   }
  6. public function Send($where, $subject, $message)
  7.   {
  8.       foreach($where as $mails)
  9.       {
  10.           mail($mails, $subject, $message, $his->headers);
  11.       }
  12.   }
  13. ?>

Po co wstawiasz do metody kolejny parametr jak możesz je wyciągać wewnątrz klasy.
Tak samo jak message i where i subject i miałbyś
  1. <?php
  2. $news->send();
  3. ?>
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: 11.10.2025 - 00:55