Kako poslati web stranicu putem e-pošte? Najjednostavniji oblik slanja podataka putem e-pošte pomoću HTML-a i PHP-a. Kako poslati bookmark putem e-pošte

Jedna od najpopularnijih funkcija na stranici je formular za prijavu ili narudžbu čiji se podaci šalju e-poštom vlasniku stranice. Takvi obrasci su po pravilu jednostavni i sastoje se od dva ili tri polja za unos podataka. Kako napraviti takav obrazac za narudžbu? Ovo zahteva upotrebu jezika HTML markup i programski jezik PHP.

HTML jezik za označavanje je sam po sebi jednostavan; samo trebate shvatiti kako i gdje staviti određene oznake. Sa programskim jezikom PHP, stvari su malo komplikovanije.

Za programera, kreiranje takvog obrasca nije teško, ali za HTML dizajnera izgleda neke radnje mogu izgledati teške.

Kreirajte obrazac za podnošenje podataka u html-u

Prva linija će biti kako slijedi

Ovo je veoma važan element forme. U njemu navodimo kako će se podaci prenijeti i u koju datoteku. U ovom slučaju se sve prenosi POST metoda fajl send.php. Program u ovoj datoteci mora u skladu s tim primiti podatke, oni će biti sadržani u post nizu, i poslati ih na navedenu adresu e-pošte.

Vratimo se na formu. Drugi red će sadržavati polje za unos vašeg punog imena. Ima sljedeći kod:

Tip obrasca je tekst, odnosno korisnik će moći da unese ili kopira tekst ovde sa tastature. Parametar name sadrži ime obrasca. U ovom slučaju, to je fio; pod tim imenom će se prenijeti sve što je korisnik unio u ovo polje. Parametar čuvara mjesta specificira šta će biti napisano u ovom polju kao objašnjenje.

Sljedeća linija:

Ovdje je skoro sve isto, ali ime polja je email, a objašnjenje je da korisnik u ovaj formular unosi svoju email adresu.

Sljedeći red će biti dugme "pošalji":

I posljednji red u obrascu će biti oznaka

Sad da sve spojimo.





Sada neka polja u obrascu budu obavezna. Imamo sljedeći kod:





Kreirajte datoteku koja prihvata podatke iz HTML obrasca

Ovo će biti datoteka pod nazivom send.php

U datoteci, u prvoj fazi, morate prihvatiti podatke iz post niza. Da bismo to učinili, kreiramo dvije varijable:

$fio = $_POST["fio"];
$email = $_POST["e-pošta"];

Imenima varijabli u PHP-u prethodi znak $, a na kraju svakog reda stavlja se tačka i zarez. $_POST je niz u koji se šalju podaci iz obrasca. U html formi, način slanja je specificiran kao method="post". Dakle, dvije varijable su uzete iz html forme. Da biste zaštitili svoju stranicu, ove varijable morate proći kroz nekoliko filtera - php funkcija.

Prva funkcija će pretvoriti sve znakove koje će korisnik pokušati dodati u obrazac:

U ovom slučaju, nove varijable se ne kreiraju u php-u, već se koriste postojeće. Ono što će filter učiniti je transformirati lik "<" в "<". Также он поступить с другими символами, встречающимися в html коде.

Druga funkcija dekodira URL ako ga korisnik pokuša dodati u obrazac.

$fio = urldecode($fio);
$email = urldecode($email);

Sa trećom funkcijom ćemo ukloniti razmake s početka i kraja reda, ako ih ima:

$fio = trim($fio);
$email = trim($email);

Postoje i druge funkcije koje vam omogućavaju da filtrirate php varijable. Njihova upotreba ovisi o tome koliko ste zabrinuti da će napadač pokušati dodati programski kod u ovaj html obrazac za slanje e-pošte.

Validacija podataka prenesenih iz HTML forme u PHP datoteku

Da biste provjerili radi li ovaj kod i da li se podaci prenose, jednostavno ga možete prikazati na ekranu pomoću funkcije echo:

echo $fio;
eho"
";
echo $email;

Drugi red ovdje je potreban za razdvajanje izlaza php varijabli u različite redove.

Slanje primljenih podataka iz HTML obrasca na e-poštu koristeći PHP

Za slanje podataka putem e-pošte potrebno je da koristite funkciju pošte u PHP-u.

mail("na koju adresu poslati", "predmet pisma", "Poruka (tijelo pisma)","Od: s koje e-pošte je pismo poslano \r\n");

Na primjer, trebate poslati podatke na e-mail vlasnika ili menadžera stranice [email protected].

Predmet pisma treba da bude jasan, a poruka pisma treba da sadrži ono što je korisnik naveo u HTML formi.

mail(" [email protected]", "Aplikacija sa sajta", "Puno ime:".$fio.". E-mail: ".$email ,"Od: [email protected]\r\n");

Potrebno je dodati uslov koji će provjeriti da li je obrazac poslat pomoću PHP-a na navedenu email adresu.

if (mail(" [email protected]", "Narudžba sa stranice", "Puno ime:".$fio.". E-mail: ".$email ,"Od: [email protected]\r\n"))
{
echo "poruka je uspješno poslana";
) drugo (
}

Tako će programski kod datoteke send.php, koji će poslati podatke HTML obrasca na e-mail, izgledati ovako:

$fio = $_POST["fio"];
$email = $_POST["e-pošta"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = trim($fio);
$email = trim($email);
//echo $fio;
//echo "
";
//echo $email;
if (mail(" [email protected]", "Aplikacija sa sajta", "Puno ime:".$fio.". E-mail: ".$email ,"Od: [email protected]\r\n"))
( echo "poruka je uspješno poslana";
) drugo (
echo "došlo je do greške prilikom slanja poruke";
}?>

Zakomentirana su tri reda za provjeru da li se podaci prenose u datoteku. Ako je potrebno, mogu se ukloniti, jer su bili potrebni samo za otklanjanje grešaka.

HTML i PHP kod za slanje obrasca stavljamo u jedan fajl

U komentarima na ovaj članak mnogi ljudi postavljaju pitanje kako osigurati da i HTML obrazac i PHP kod za slanje podataka na e-poštu budu u jednoj datoteci, a ne u dvije.

Da biste implementirali ovaj posao, potrebno je da postavite HTML kod forme u datoteku send.php i dodate uslov koji će provjeriti prisustvo varijabli u POST nizu (ovaj niz se šalje iz obrasca). To jest, ako varijable u nizu ne postoje, onda morate pokazati korisniku obrazac. U suprotnom, morate primiti podatke iz niza i poslati ih primaocu.

Pogledajmo kako promijeniti PHP kod u datoteci send.php:



Prijavni formular sa sajta


//provjeravamo postoje li varijable u POST nizu
if(!isset($_POST["fio"]) i !isset($_POST["email"]))(
?>





) drugo (
//prikaži formu
$fio = $_POST["fio"];
$email = $_POST["e-pošta"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = trim($fio);
$email = trim($email);
if (mail(" [email protected]", "Aplikacija sa sajta", "Puno ime:".$fio.". E-mail: ".$email ,"Od: [email protected]\r\n"))(
echo "Poruka je uspješno poslana";
) drugo (
echo "Došlo je do greške prilikom slanja poruke";
}
}
?>

Provjeravamo postojanje varijable u POST nizu isset() PHP funkcijom. Uzvičnik ispred ove funkcije u stanju znači negaciju. Odnosno, ako varijabla ne postoji, onda moramo pokazati našu formu. Da nisam stavio uzvičnik, uslov bi doslovno značio "ako postoji, onda pokaži oblik." A ovo je pogrešno u našem slučaju. Naravno, možete ga preimenovati u index.php. Ako preimenujete datoteku, ne zaboravite preimenovati ime datoteke u retku

. Obrazac treba da vodi na istu stranicu, na primjer index.php. Dodao sam naslov stranice u kod.

Uobičajene greške koje se javljaju prilikom slanja PHP obrasca sa web stranice

Prva, vjerovatno najpopularnija greška je kada vidite praznu bijelu stranicu bez poruka. To znači da ste napravili grešku u kodu stranice. Morate omogućiti prikaz svih grešaka u PHP-u i tada ćete vidjeti gdje je greška napravljena. Dodajte kodu:

ini_set("display_errors","On");
error_reporting("E_ALL");

Datoteka send.php mora biti pokrenuta samo na serveru, inače kod jednostavno neće raditi. Preporučljivo je da ovo nije lokalni server, jer nije uvijek konfiguriran za slanje podataka na vanjski mail server. Ako pokrenete kod koji nije na serveru, onda će PHP kod biti prikazan direktno na stranici.

Stoga, za ispravan rad, preporučujem postavljanje datoteke send.php na hosting stranice. U pravilu je tamo sve već konfigurirano.

Još jedna česta greška je kada se pojavi obavijest „Poruka je uspješno poslana“, ali pismo ne stiže poštom. U tom slučaju morate pažljivo provjeriti liniju:

if (mail(" [email protected]", "Narudžba sa stranice", "Puno ime:".$fio.". E-mail: ".$email ,"Od: [email protected]\r\n"))

Umjesto [email protected] mora postojati adresa e-pošte na koju treba poslati pismo, ali umjesto toga[email protected] mora biti postojeći email za ovu stranicu. Na primjer, za web stranicu to će biti . Samo u tom slučaju biće poslato pismo sa podacima iz obrasca.

Na internetu ima puno zanimljivih i korisnih sadržaja. Ponekad je mnogo lakše poslati prijatelju link do zanimljivih informacija umjesto da ih kopirate sa stranice i prosljeđujete na druge načine. Kako poslati link što je povoljnije?

Email

Većina modernih usluga e-pošte podržava mogućnost jednostavnog umetanja veze. Odnosno, samo ga trebate kopirati iz adresne trake vašeg pretraživača, a zatim ga zalijepiti u pismo i postat će „kliknuti“, odnosno nakon klika na njega automatski će se otvoriti željena stranica.

Ako adresu web-mjesta ili stranice unesete ručno, veza neće raditi na ovaj način. Da biste to popravili, pokušajte napisati http:// ili www na početku veze. Odnosno, umjesto site.com trebate napisati http://site.com ili www.site.com Nakon toga, na link će se moći kliknuti.

Također možete priložiti vezu do određenih riječi u pismu. Da biste to učinili, trebate ih odabrati i kliknuti na "Umetni vezu" na alatnoj traci, a zatim naznačiti adresu željene stranice u prozoru. Ako vaša pošta podržava upotrebu html tagova, onda možete umetnuti vezu poput ove: riječi uz koje prilažete vezu.

Drugovi iz razreda

Prije nego što pošaljete vezu na Odnoklassniki, morate preuzeti poseban softver koji vam to omogućava. Jedan takav program je GF Tools. Potpuno je besplatan i vrlo jednostavan za korištenje. Također možete jednostavno zalijepiti tekst veze u poruku koju šaljete drugom korisniku. Može se postaviti i na zid.

U kontaktu sa

Takođe možete umetnuti link u status i poruke na zidu. U ovom slučaju, link će također biti "kliknuti" za sve korisnike. Kada umetnete link na zid, skripta sajta će automatski prikazati prvu sliku sa stranice na koju je link dat, kao i nekoliko redova teksta sa nje.

Postoji mnogo načina da se "iseče" web stranica.

Ali Pocket zahtijeva aplikaciju i Pocket račun. To znači da trebate instalirati drugu aplikaciju, prijaviti se na servis, sinhronizirati, itd. Bilo bi lijepo kada biste to mogli učiniti koristeći svoje poštansko sanduče.

To je ideja iza EmailThis-a, što je upravo ono što njegovo ime sugerira. Jednim klikom ovaj bookmarklet (ili proširenje,
ako ste korisnik Chromea) će isporučiti trenutnu web stranicu u vašu pristiglu poštu. I kao i Pocket, uklanja sve oglase i formatiranje koje nije prilagođeno mobilnim uređajima, ostavljajući vam samo tekst i slike koji se lako čitaju. (Također pruža originalnu vezu ispod ako se želite vratiti na stranicu.)

Kada završite početno podešavanje (na engleskom), korištenje Email-a je doslovno jedan klik na dugme: Kliknite na bookmarklet (ili ikonu proširenja) kada želite sebi poslati stranicu koju trenutno gledate.

Zanimljivo je da je bookmark kompatibilan i sa Android i iOS pretraživačima, ali korištenje zahtijeva malo više truda. Korisnici Androida treba da unesu "email this" u adresnu traku, dok korisnici iOS-a trebaju otvoriti svoje sačuvane oznake i dodirnuti "Email This".

Naravno, mnogi mobilni pretraživači imaju opciju „čitaj kasnije“, koja odlično funkcioniše. Ali ako želite da vam stranica bude isporučena u inbox, ovo je najbolji način.

Nažalost, EmailThis nije kompatibilan sa Microsoft Edge, koji ne podržava bookmarklete. Ako nađete rješenje, svakako me obavijestite u komentarima.

Testirao sam alat na raznim web stranicama. Odlično je funkcioniralo s većinom njih. Primijetio sam da neke od ugrađenih slika nisu "rezane", možda zato što su bile hostovane na trećoj strani. Ali generalno, smatrao sam da je EmailThis brz i lak način za slanje bilo koje web stranice u vašu pristiglu poštu.

I ova opcija mi se više sviđa od opcija "čitaj kasnije" jer moj prijemni sandučić duplira funkcionalnost liste obaveza. Na ovaj način web sadržaj koji smatram važnim nije zaboravljen ili zanemaren.

Napomena urednika: Ovaj članak je prvobitno objavljen 25. februara 2014. i danas je ažuriran.

Koji su neki načini za slanje web stranice na e-poštu?
Na različite načine, u zavisnosti od toga šta je autor pitanja mislio.

Na primjer, ako imate program za snimanje ekrana, možete napraviti snimak ekrana otvorene stranice i poslati ga kao sliku na e-mail osobe koja vam je potrebna. U tom slučaju, slika će biti mrtva i veze neće raditi.

Pretpostavljam da bi ispravniji odgovor bio sačuvati stranicu standardnim metodama. Kliknite na meni „datoteka“ u pretraživaču, zatim „sačuvaj kao“ i sačuvajte celu web stranicu. Ako osoba kojoj se ova stranica šalje ima pristup Internetu, moći će pratiti linkove sa stranice, oni će raditi.

U prvom slučaju, bit će lakše otvoriti stranicu ako je odabran uobičajeni format slike - bmp, jpg, gif. U drugom slučaju može doći do problema sa prikazivanjem stranice sačuvane u jednom pretraživaču, ali otvorene u drugom; možda neće biti ispravno prikazana ili se uopšte neće otvoriti.

Oba kofera su dizajnirana za čuvanje u arhivi, za slanje osobi koja nema stalan pristup internetu. U ovom slučaju, bolje ga je priložiti uz pismo.

Ali ako osoba uvijek ima internet, zašto mu čuvati i slati stranicu ili praviti prilog? Mnogo je lakše kopirati link željene stranice u adresnu traku i zalijepiti ga u tijelo pisma.

Da biste to učinili, možete koristiti specijalizirane usluge online arhiviranja, na primjer - Archive.today: arhivirajte danas

Ovdje samo trebate postaviti URL adresu resursa i sistem će sam kreirati zip datoteku i URL link do “snimka” web stranice, koja će uvijek biti na mreži, čak i ako originalna verzija nestane.

Zip fajl se može priložiti e-poruci, link ka “snimku” web stranice može se umetnuti u polje za e-poštu, a sve se može poslati e-poštom ili sačuvati na bilo koji drugi način.

Na primjer, današnja verzija moskovske stranice FAQ (zajedno sa zip datotekom) dostupna je ovdje: arhivirajte danas

Takođe možete koristiti usluge na mreži za snimanje ekrana, na primjer Web-capture: web-capture net

Koji su neki načini za slanje web stranice na e-poštu?
Na različite načine, u zavisnosti od toga šta je autor pitanja mislio.

Na primjer, ako imate program za snimanje ekrana, možete napraviti snimak ekrana otvorene stranice i poslati ga kao sliku na e-mail osobe koja vam je potrebna. U tom slučaju, slika će biti mrtva i veze neće raditi.

Pretpostavljam da bi ispravniji odgovor bio sačuvati stranicu standardnim metodama. Kliknite na meni „datoteka“ u pretraživaču, zatim „sačuvaj kao“ i sačuvajte celu web stranicu. Ako osoba kojoj se ova stranica šalje ima pristup Internetu, moći će pratiti linkove sa stranice, oni će raditi.

U prvom slučaju, bit će lakše otvoriti stranicu ako je odabran uobičajeni format slike - bmp, jpg, gif. U drugom slučaju može doći do problema sa prikazivanjem stranice sačuvane u jednom pretraživaču, ali otvorene u drugom; možda neće biti ispravno prikazana ili se uopšte neće otvoriti.

Oba kofera su dizajnirana za čuvanje u arhivi, za slanje osobi koja nema stalan pristup internetu. U ovom slučaju, bolje ga je priložiti uz pismo.

Ali ako osoba uvijek ima internet, zašto mu čuvati i slati stranicu ili praviti prilog? Mnogo je lakše kopirati link željene stranice u adresnu traku i zalijepiti ga u tijelo pisma.

Da biste to učinili, možete koristiti specijalizirane usluge online arhiviranja, na primjer - Archive.today: arhivirajte danas

Ovdje samo trebate postaviti URL adresu resursa i sistem će sam kreirati zip datoteku i URL link do “snimka” web stranice, koja će uvijek biti na mreži, čak i ako originalna verzija nestane.

Zip fajl se može priložiti e-poruci, link ka “snimku” web stranice može se umetnuti u polje za e-poštu, a sve se može poslati e-poštom ili sačuvati na bilo koji drugi način.

Na primjer, današnja verzija moskovske stranice FAQ (zajedno sa zip datotekom) dostupna je ovdje: arhivirajte danas

Takođe možete koristiti usluge na mreži za snimanje ekrana, na primjer Web-capture: web-capture net