Pradinis
Pagalba
Užsisakyk!
- Reklamą
- Hostingą
- El. pašto dėžutę
Užsisakyk!
Įrankiai
Pasidalink
- Visos temos
Forumas | PHP-Fusion, WordPress, Shopify, PHP ir MySQL (PROGRAMAVIMAS) | Kiti PHP, HTML, MySQL klausimai |
Autorius: sniuff | Peržiūrų: 1656 |
sniuff Narys Antras po Dievo Pranešimai: 4491 Įstojęs: 2007 Geg. 14 16:05:52 | |
Kaip naudojant mail() funkciją siųsti el.paštą su lietuviškomis raidėmis ? http://androider.info/ |
|
Saul1us Narys Tankas Pranešimai: 1991 Įstojęs: 2008 Spa. 19 13:10:35 | |
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). |
|
sniuff Narys Antras po Dievo Pranešimai: 4491 Įstojęs: 2007 Geg. 14 16:05:52 | |
stygi norėjai būti kieta sir nukopijavęs nuo php.lt tokiu pasijautei ? Man nereikai 200 eilučių staipsnio. Atsakymas sutilptų į dvi eilutes. http://androider.info/ |
|
Saul1us Narys Tankas Pranešimai: 1991 Įstojęs: 2008 Spa. 19 13:10:35 | |
Kažkas nepatinka? Džiaukis kad atkopijavau ir ne iš php.lt kopinau jai pats nemoki susirasti nežinau kas kaltas.... |
|
Tomcis Narys Generolas Pranešimai: 1143 Įstojęs: 2008 Spa. 9 19:10:04 | |
jis šiaip kopijavo iš čia http://www.ipamokos.lt/php-pamok...-mail.html , bet ne tame kopėčios. |
|
MAnjack Garbės narys Legenda Pranešimai: 11821 Įstojęs: 2006 Kov. 2 20:03:58 | |
Pabandyk konvertuot juos (lietuviškus simbolius) į kodus |
|
sniuff Narys Antras po Dievo Pranešimai: 4491 Įstojęs: 2007 Geg. 14 16:05:52 | |
MAnjack, kai bandžiau, tai kai nusiunčia, juos tiesiog taip ir rodo, o nepakeičia į Lietuviškas raides http://androider.info/ |
Peršokti į forumą: |