Jak wysłać list do grup dyskusyjnych USENET, PHP Skrypty


[PHP] Jak wysłać list do grup dyskusyjnych USENET?

0x01 graphic

Chcesz wysłać list do dowolnej grupy dyskusyjnej na Usenecie.

0x01 graphic

Jeżeli chcesz wysłać na grupę dyskusyjną list, możesz to zrobić oczywiście za pomocą programu pocztowego. Ale nie zawsze program rozwiązuje sprawę, szczególnie wtedy gdy wysłanie listu musi być zautomatyzowane lub wykonywane okresowo.

Napiszmy prosty skrypt, który wyśle list na wybraną grupę dyskusyjną w Usenecie. Przygotuj sobie nazwę grupy (pl.test będzie do testów najlepsza) i serwer news (jeżeli korzystasz z łącza TP SA, będzie to np. news.tpi.pl).

<?

$h["from"] = "Imie Nazwisko <adres@email.pl>";

$h["subject"] = "Tytuł listu";

$h["custom_headers"][] = "Newsgroups: pl.test";

$b[0]["type"] = "text";

$b[0]["subtype"] = "plain";

$b[0]["charset"] = "iso-8859-2";

$b[0]["contents.data"] =

"

Cześć!

Treść listu...

Pozdrawiam

";

$list=imap_mail_compose($h,$b);

$f=fsockopen("news.tpi.pl",119);

fputs($f,"POST\r\n");

fputs($f,"$list");

fputs($f,".\r\n");

fclose($f);

?>

Do skomponowania listu, a więc przygotowania nagłówków i treści wykorzystamy funkcję imap_mail_compose() aby nie tworzyć nagłówka ręcznie. W tym celu w php.ini odznaczony powinien być moduł extension=php_imap.dll.

W tablicy $h (headers) umieścimy dane nagłówkowe, a więc nadawcę, tytuł listu i dodatkowy nagłówek (custom_headers) określający grupę, do której zostanie wysłana wiadomość.

W tablicy $b (body) znajduje się treść listu (contents.data) oraz trzy parametry określające typ danych jako czysty tekst (text/plain) i kodowanie polskich znaków (iso-8859-2). Gdy list nie zawiera polskich znaków, nie musisz określać kodowania.

Tak przygotowane nagłówki trafiają następnie do funkcji imap_mail_compose(), która "produkuje" na podstawie tablic gotową treść listu:

From: Imie Nazwisko <adres@email.pl>

Subject: Tytuł listu

MIME-Version: 1.0

Content-Type: TEXT/plain; CHARSET=iso-8859-2

Newsgroups: pl.test

Cześć!

Treść listu...

Pozdrawiam

Jak widzisz, nie ma tu żadnych czarów i równie dobrze możesz taki nagłówek i treść wpisać "ręcznie" bez korzystania z funkcji imap. Tak spreparowana treść trafia do zmiennej $list.

Teraz pozostało tylko nawiązać połączenie z serwerem news na porcie 119, a następnie wysłać na port polecenie POST i treść listu zakończonego kropka, która oznacza koniec transmisji. I już. List został wysłany, możesz wejść do grupy pl.test i zobaczyć jak wygląda.



Wyszukiwarka

Podobne podstrony:
Jak zapisać do pliku zawartość tablicy, PHP Skrypty
Jak zabezpieczyć własne strony przed pobieraniem ich programami do ściągania całych witryn, PHP Skry
Jak wysłać SMS do dowolnego kraju
Jak stworzyć zaawansowany test wyboru lub quiz, PHP Skrypty
jak miedzy stronami przesłać zmienne korzystajac z sesji, PHP Skrypty
Jak zrobić licznik pobrań plików ze strony, PHP Skrypty
Jak zrobić przekierowanie z jednej strony na drugą, PHP Skrypty
jak wypisac zawartosc bazy danych dBase (dbf), PHP Skrypty
Jak dopisać dane na początku pliku tekstowego, PHP Skrypty
Jak wygenerować statyczny plik .html z bazy danych, PHP Skrypty
Jak zamienić liczby na kwoty zapisane słownie, PHP Skrypty
jak samodzielnie obliczyc numer dnia w dowolnym roku, PHP Skrypty
Jak odbierać dane pochodzące z różnych pól formularza, PHP Skrypty
jak stworzyc licznik klikniec ze statystyka dzienną, PHP Skrypty
Jak cenzurować wypowiedzi i brzydkie słowa na forum, PHP Skrypty
jak w grafice zmienic wybrane kolory na inne, PHP Skrypty
Jak automatycznie pokolorować na przemian wiersze tabeli, PHP Skrypty
Jak stworzyć zaawansowany test wyboru lub quiz, PHP Skrypty
Jak wysłać ze strony WWW e-mail z dowolnym załącznikiem, PHP Skrypty

więcej podobnych podstron