Navigacija

Vartotojų tinkle

Prisijungusių svečių: 19
Prisijungusių narių: 6
Prisijungę nariai: Pacans, Andryz, Frozzy, marcia, Roksys, .DeXter

Registruoti nariai: 19,885
Naujausias narys: FreeTemplatesLT

Naujausi straipsniai

Paskutiniai nariai

marciaNaršo
RoksysNaršo
PacansNaršo
AndryzNaršo
FrozzyNaršo
.DeXterNaršo
Zwimba00:09:23
Alanas00:14:06
minimukas00:14:47
Sharkie00:27:25
Donatas00:29:43
fixed00:41:05
zenial00:41:13
Scarletas00:41:48
Grygoo100:44:55
MaFetas00:45:13
Creatium00:45:38
laimingas00:52:10
Euga00:59:51
GiedrasGiedrius01:02:08

Informacija:


OS: Unknown
Naršyklė: Nežinoma
IP: 38.107.179.230
Naujienų: 472
Straipsnių: 223
Temų: 44,527
Postų: 493,645
Postų pask. parą: 141
Shout'ų pask. parą: 46
P.S.C. pask. parą: 192
Nuotraukų: 0

Hey.lt lankomumo statistika

Facebook

php-fusion-facebook
tapk-php-fusion-gerbeju-facebook

Prisijungti

Nario vardas

Slaptažodis



Dar ne narys?
Registruokis

Pamiršai slaptažodį?
Paprašyk naujo

Aktyvuoti save

Šaukykla

Jei norite rašyti žinutes, turite prisijungti.

-> marcia
2012/02/05 01:59
Grazus pasikeitimai. šypsosi

-> Frozzy
2012/02/05 01:55
;]

-> .DeXter
2012/02/05 01:51
Priprasit, nesijaudinkit šypsosi

-> Zwimba
2012/02/05 01:39
Youtubas pasikeite tai irgi nelabai man patogu buvo. Jau pripratau ir pamirsau... šypsosi Zmones rodo kad dirba... akinanti šypsen Vat taip va... akinanti šypsen

-> Frozzy
2012/02/05 01:36
nu nebent šypsosi bet keista kaip cia sugalvooj jie akinanti šypsen

-> Šaukyklos archyvas ->

Apklausa

Daugiausiai pagalbos sulaukiate iš?

Administratorių

Narių

Pagalbos nesulaukiu

Pagalbos neprašau

Norėdamas balsuoti turite prisijungti.
Archyvas
Reklama 400x60
mail()
Parašė flapas 2010 liepos 29 14:52:51


Funkcija mail()
Supažindinama su labai plačiai naudojama mail() funkcija, kurios paskirtis - iš PHP skripto siųsti el. pašto laiškus.

PHP.ini konfiguravimas

Atkreipkite dėmesį, kad dažniausiai jei jūs testuojate skriptus ant Windows platformos, jums mail() funkcija neveiks. Neveiks todėl, kad php.ini faile pagal nutylejimą SMTP serveris nurodytas localhost, o didžiausia tikymybe yra ta, kad pas jus localhost'e SMTP serverio nėra (nebent naudojate Windows Server), todėl savo ekrane matysite tik štai tokį užrašą:

Warning: Failed to Connect in C:\kelias\kelias\failas.php on line XX.

PHP negali prisijungti prie SMTP serverio. To galite išvengti įrašę php.ini faile SMTP=jums_žinomas_smtp_serverio_adresas. Jei pas jus PHP ne kaip CGI, neužmirškite perkrauti Apache serverio.

Pradmenys

Taigi, ką daro mail() funkcija? mail() funkcija leidžia jums siųsti el.paštą tiesiai iš jūsų kodo. Ji dažniausiai naudojama kontaktų, registravimo formose, kai tam tikru adresu norima informuoti apie užpildytą formą. Bet pritaikymo būdų yra begalė.

bool mail(string to, string subject, string message [, string additional_headers [, string
additional_parameters ])

Mail funkcija grąžina boolean tipą (true/false). Jei mail funkcija grąžina false, reiškia el. pašto išsiųsti nepavyko. Štai kaip siunčiamas paprasčiausias el. laiškas:

<?php
mail(' webmaster@php.ltŠis el. pašto adresas apsaugotas nuo spam'o, peržiūrėjimui reikia įjungti JavaScript ','Čia norima tema (subject)','Ir einanti žinutė');
?>

Taigi, kaip matote, pirmasis mail argumentas - tai el. pašto adresas, kuriam siunčiate el.paštą, paskui rašoma tema (subject), o po temos - ir žinutės tekstas. Žinutės tekste, norint nukelti tekstą į naują eilutę, įterpkite \n (new line|nauja eilutė), pvz.:

<?php $tekstas = "mano žinutė\n\nJonas Jonaitis\nSkripteris";?>

Po žinutės gali būti papildomi parametrai: antraštės (headers), bei kiti papilomi parametrai. Tik išsiuntus šį el. laišką pastebėsite, kad el. žinutėje nėra (kai kurių) lietuviškų raidžių. Jų nėra dėl netinkamos el. žinutės koduotės. Žinutės koduotė yra nustatoma žinutės antraštėje (header).

Antraštės (headers)

Pastaba: žinutės antraštės yra atskiriamos "\r\n".

Antraštėse galima nurodyti daug įdomių bei naudingų dalykų: nuo ko siunčiamas laiškas, laiško koduotė, reply-to laukas, mailer'is, bcc ir t. t. Štai pavyzdys paprasčiausios antraštės, kuri turėtų būti kiekviename laiške:

<?php
$header = "Content-type: text/plain; charset=\"windows-1257\"\r\n";
$header .= "From: Nikolajus Krauklis <mano@el_pastas.lt>\r\n";
$header .= "Reply-to: mano@el_pastas.lt\r\n";
mail(' webmaster@php.ltŠis el. pašto adresas apsaugotas nuo spam'o, peržiūrėjimui reikia įjungti JavaScript ','Čia norima tema (subject)','Ir einanti žinutė',$header);
?>

Content type nurodome, kad žinutė bus paprastu (plain) tekstu, ne HTML, bei windows-1257 charset'u (simbolių rinkiniu). Išsiuntus laišką su šia antrašte galite būti įsitikinęs, kad Windows vartotojai gaus jūsų išsiųstą el.žinutę su visom lietuviškomis raidėmis. From antraštėje nurodome, nuo ko siunčiamas laiškas. Siuntėjas/gavėjas gali būti norodomas štai tokiais būdais:

<?php
/*
* paste iš kažkokio RFC, susijusio su meil'ais
*
* From: mark@cbosgd.UUCPŠis el. pašto adresas apsaugotas nuo spam'o, peržiūrėjimui reikia įjungti JavaScript
* From: mark@cbosgd.UUCPŠis el. pašto adresas apsaugotas nuo spam'o, peržiūrėjimui reikia įjungti JavaScript (Mark Horton)
* From: Mark Horton < mark@cbosgd.UUCPŠis el. pašto adresas apsaugotas nuo spam'o, peržiūrėjimui reikia įjungti JavaScript >
* From: "Mark Horton" < mark@cbosgd.UUCPŠis el. pašto adresas apsaugotas nuo spam'o, peržiūrėjimui reikia įjungti JavaScript >
*/
?>

Reply-to - kur siųsti atsakymą. Pagal nutylėjimą, jei nėra reply-to, jūsų mailer'is atsakys asmeniui, kuris atsiuntė šį laišką, bei jei yra reply-to, paspaudus mailer'yje (outlook'e, bat'e,
mutt'e ir t.t.) reply, to: lauke atsiras reply-to el.pašto adresas.

Štai dar papildomos antraštės, kurios gali praversti:

<?php
$headers .= "X-Mailer: mano PHP mailer'is\r\n"; // mailer'is
$headers .= "X-Priority: 3\r\n"; // žinutės tipas: 1 UrgentMessage, 3 Normal
$headers .= "Return-Path: < mail@server.comŠis el. pašto adresas apsaugotas nuo spam'o, peržiūrėjimui reikia įjungti JavaScript >\r\n"; //kur grąžinti laiškąą, ištikus klaidai
mail(' webmaster@php.ltŠis el. pašto adresas apsaugotas nuo spam'o, peržiūrėjimui reikia įjungti JavaScript ','Čia norima tema (subject)','Ir einanti žinutė',$headers);
?>

X-Mailer - tai niekur nedominuojantis headeris.
Priority - žinutės prioritetas. Aukščiausias - 1, normalus - 3.
Return-path - tai el.pašto adresas, į kurį bus nukreipiamos visos klaidas (pvz.: el.žinutė nepasiekė reikiamo neveikiančio serverio, arba tokio el. pašto adreso jau nebėra sistemoje).

Kaip nusisiųsti el. žinutės kopiją sau? Yra trys galimybės:

1. Pats paprasčiausias - nurodyti To laukelį štai taip:

<?php
$to = "Kažkoks vartotojas < pvz@pvz.ltŠis el. pašto adresas apsaugotas nuo spam'o, peržiūrėjimui reikia įjungti JavaScript >" . ", ";
$to .= "Mano el. paštas < mano@elpastas.ltŠis el. pašto adresas apsaugotas nuo spam'o, peržiūrėjimui reikia įjungti JavaScript >";
mail($to,'Žinutė dviem gavėjams','Tekstas');
?>

2. Savo el. pašto adresą nurodyti Cc antraštės laukelyje:

<?php
$header .= "cc: mano@elpastas.ltŠis el. pašto adresas apsaugotas nuo spam'o, peržiūrėjimui reikia įjungti JavaScript \r\n";
?>

Šiuo atveju visi gavėjai matys, kam buvo siunčiamas gautas el.paštas.

3. Naudotis antraštės Bcc laukeliu:

<?php
$header .= "bcc: mano@elpastas.ltŠis el. pašto adresas apsaugotas nuo spam'o, peržiūrėjimui reikia įjungti JavaScript \r\n";
?>

Dabar gavėjai nepastebės, kad laiško kopija buvo nusiųsta ir jums.

Keletas apibendrintų dalykų

Žinutės taip pat gali būti siunčiamos ir HTML formatu, tada antraštė atrodytų taip:

<?php $header = "Content-type: text/plain; charset=\"windows-1257\"\r\n";?>

Dabar el. žinutėje galite naudoti ir HTML žymes (pastaba: ne visi mailer'iai turi galimybę rodyti el. žinutes HTML formatu).


Šaltinis: ipamokos.lt


2 Komentarai · 1148 Skaityta · Spausdinti
Komentarai
nbanba 2010 liepos 30 15:31:06
Bent nukopintum be klaidų... akinanti šypsen
Raibikis 2010 rugpjūčio 12 18:37:11
Dar taip eina? o jeigu straipsnis su klaidom pats parasytas?
Rašyti komentarą
Prisijunkite, norėdami parašyti komentarą.
Reitingai
Balsuoti gali tik nariai.

Prašome prisijungti arba prisiregistruoti.

Nėra reitingų.