Uploaded by Primamga Udupe

6 - PHP

advertisement
SLANJE ELEKTRONSKE POŠTE
E-MEJLA
Slanje poruke elektronske pošte
 Pomoću PHP-a moguće je na jednostavan način poslati poruku mejlom. Poruka
može biti poslata automatski (bez interakcije s korisnikom) ili može biti poslata kad
korisnik upiše tekst poruke u obrazac i klikne na dugme za slanje podataka.
 Za slanje poruke mejlom u jeziku PHP se koristi funkcija mail. Argumenti koje ona
prima su:
 adresa primaoca (ukoliko je primaoca više, adrese moraju biti odvojene zarezom);
ime.prezime@domen.com
naslov poruke – u naslovu poruke se ne smeju nalaziti znakovi za novi red
tekst poruke – kao znak za novi red, u tekstu poruke treba se koristiti znak "\n", a
linija može da sadrži maksimalno 70 znakova
dodatna zaglavlja (opcionalno) – pošiljalac poruke (From), dodatni primalac (Cc,
Bcc) i druga; zaglavlja moraju biti odvojena kombinacijom znakova "\r\n"
dodatni parametri (opcionalno) – služe za proslijeđivanje parametara programu na
serveru koji šalje poruku
o




2
 Funkcija mail vraća vrednost TRUE ako je poruka uspešno poslata, a FALSE ako
slanje nije uspelo. Primer slanja poruke izgledao bi ovako:
3
Podešavanje stavki za slanje poruke
 Pre slanja poruke moguće je podesiti stavke za slanje poruke elektronske pošte.
Pregled stavki dat je u sljedećoj tablici:
4
 Ove stavke nalaze se u datoteci php.ini. Za podešavanje ovih i drugih
konfiguracijskih stavki iz kôda može se koristiti funkcija ini_set.
 Argumenti koje ona prima su:
 naziv stavke
 vrednost stavke
 Podešavanje servera elektronske pošte i adrese pošiljaoca, te potom slanje poruke,
izgledaće ovako:
5
Slanje podataka iz obrasca putem poruke elektronske pošte
 U fajl Adresar.php naknadno ćemo dodati tekstualno polje za spremanje adrese
elektronske pošte (mejl), a ta adresa će se, u obliku linka, prikazivati prilikom
pregleda liste unosa. Klikom na link otvoriće se novi obrazac pomoću kojeg će se
moći poslati poruka na navedenu adresu.
 U programu PHP datoteku SpremiAdresu.php
dodaćemo masno otisnutu naredbu:
6
 Gornja naredba će pročitati vrednost s nazivom email
poslanu pomoću POST metode i spremiti je u varijablu
$email. Među naredbe koje ispisuju pročitane vrednosti,
dodaaćemo masno otisnutu naredbu:
 Uz ostale vrednosti, u datoteku Adresar.txt biće
zapisana i adresa elektronske pošte. U datoteci ćemo
promeniti naredbu fwrite kako je naznačeno:
7
 U editoru Visual Studio Code za PHP u datoteku PregledAdresa.php dodajemo masno
otisnutu oznaku th:
 Prilikom čitanja iz datoteke, potrebno je pročitati i adresu elektronske pošte, pa
dodajemo sledeću (masno otisnutu) naredbu u datoteku:
8
 Među naredbe koje ispisuju pojedini red tabele, dodajemo naredbu koja će ispisati
adresu elektronske pošte (i to kao link koji će voditi na obrazac za slanje poruke):
 Link će voditi na stranicu UnosPoruke.php, a kao parametar u URL-u (dakle,
metodom GET) proslediće se adresa na koju treba poslati poruku, sadržana u
varijabli $email. U editoru za PHPVisual Studio Code napravićemo novu datoteku
UnosPoruke.php. Ova će datoteka sadržavati obrazac za upisivanje poruke koja će
se poslati.
9
 Unutar stvorene datoteke dodajemo oznaku head s oznakama title i meta, i zatim
oznake body i h2:
 Unutar oznake body dodajemo oznaku za obrazac (form):
10
 Obrazac će se koristiti metodom POST za slanje podataka, a skripta koja će
obrađivati poslane podatke je u datoteci PosaljiPoruku.php. Unutar obrasca
dodaju se dva elementa za unos:
 Obrazac će imati dva elementa za unos – polje za unos teksta u koje se upisuje
naslov poruke, i višelinijsko polje za unos teksta u koje se upisuje tekst poruke.
Unutar obrasca dodajte i skriveno polje (oznaka input s atributom type
postavljenim na hidden):
11
 Uloga ovog polja je da se adresa elektronske poruke prosledi skripti
PosaljiPoruku.php zajedno s podacima unesenim u obrazac.
 Vrednost atributa value skrivenog polja mora se postaviti dinamički, jer se unapred
ne zna koja će biti odabrana adresa. To se postiže tako da se na mesto gde treba biti
ispisana vrednost atributa stave oznake za PHP kôd, a unutar njih se pomoću
naredbe echo ispisuje željena vrednost. Odabrana adresa će biti dostupna kao
parametar u URL-u, pa se može pročitati iz polja $_GET. Nakon skrivenog polja,
unutar obrasca dodajte još i dugme za slanje podataka i dugme za brisanje podataka
iz obrasca:
12
 Na kraju dodajte još i linkove na stranice za unos nove adrese i pregled unesenih
adresa.
13
 U editoru Visual Studio Code za PHP u datoteku stvaramo novu datoteku naziva
PosaljiPoruku.php. Ova će skripta primati podatke s obrasca i izvršavati slanje poruke
elektronske pošte. U datoteku upišite sledeći HTML kôd:
 U datoteku upišite sledeće (masno otisnute) PHP naredbe, unutar oznaka za PHP Prve tri
naredbe čitaju podatke prosleđenene POST metodom, dostupne unutar polja $_POST, i
spremaju ih u varijable $email, $naslov i $tekst. Sledeće tri varijable ispisuju pročitane
vrednosti (zajedno s opisnim tekstom).
14
 Nakon ovih naredbi upisaćemo u datoteku naredbe za podešavanje postavki za
slanje elektronske pošte:
 Prva naredba zadaje naziv servera koji će slati poruke. U tu svrhu se u ovom
primeru koristi server gmail.com. Ako on nije dostupan može se koristiti server
ISP-a preko kojeg smo spojeni na Internet.
15
 Nakon ovih naredbi dodajemno naredbe za slanje poruke i za ispisivanje
odgovarajućeg teksta ako je slanje uspelo (opciono):
 Adresu onoga ko šalje nećemo navoditi jer je već pre postavljena pomoću funkcije
ini_set. Ako slanje poruke uspe, funkcija će vratiti logičku vrednost TRUE i
ispisaće se tekst "Poruka je uspešno poslata". U suprotnom, ispisaće se tekst
“Poruka nije uspešno poslata”.
16
 Na kraju dodajemo još i linkove na stranice za unos nove adrese i pregled unesenih
adresa (radi omogućavanja povratka).
17
18
19
Čekirati mejl
20
21
Download