Үй / Қауіпсіздік / HTML және PHP көмегімен электрондық пошта арқылы деректерді жіберудің қарапайым түрі. Бір рет басу арқылы өзіңізге веб-бетті электрондық пошта арқылы жіберуге болады

HTML және PHP көмегімен электрондық пошта арқылы деректерді жіберудің қарапайым түрі. Бір рет басу арқылы өзіңізге веб-бетті электрондық пошта арқылы жіберуге болады

Веб-бетті «қиып алудың» көптеген жолдары бар.

Бірақ Pocket қолданбасы мен Pocket есептік жазбасын қажет етеді. Бұл сізге басқа қолданбаны орнату, қызметке кіру, синхрондау және т.б. қажет екенін білдіреді. Пошта жәшігіңізді пайдаланып дәл осылай жасай алсаңыз жақсы болар еді.

Бұл EmailThis-тің идеясы, оның аты дәл осылай көрсетеді. Бір рет басу арқылы бұл бетбелгі (немесе кеңейтім,
Егер сіз Chrome пайдаланушысы болсаңыз) ағымдағы веб-бетті сіздің веб-сайтыңызға жеткізеді пошта жәшігі. Және, Pocket сияқты, бұл қызмет барлық жарнамаларды жояды және оған жағымсыз мобильді құрылғыларпішімдеу, сізге оңай оқылатын мәтін мен кескіндерді қалдырады. (Сондай-ақ ол сайтқа оралғыңыз келсе, төмендегі түпнұсқа сілтемені береді.)

Email арқылы бастапқы орнатуды аяқтағаннан кейін (ағылшын тілінде) Бұл сөзбе-сөз түймені басу болып табылады: Қазір қарап жатқан бетті өзіңізге жібергіңіз келгенде бетбелгіні (немесе кеңейтім белгішесін) басыңыз.

Бір қызығы, бетбелгі Android және iOS браузерлерімен де үйлесімді, бірақ оны пайдалану біраз күш салуды қажет етеді. Android пайдаланушылары мекенжай жолағына «осы электрондық поштаны» енгізуі керек, ал iOS пайдаланушылары сақталған бетбелгілерін ашып, «Мұны электрондық поштамен жіберу» түймесін түртуі керек.

Әрине, көбінде мобильді браузерлерӨте жақсы жұмыс істейтін «кейінірек оқу» опциясы бар. Бірақ беттің кіріс жәшігіне жеткізілуін қаласаңыз, бұл ең жақсы әдіс.

Өкінішке орай, EmailThis үйлесімді емес Microsoft Edge, ол бетбелгілерге қолдау көрсетпейді. Шешімді тапсаңыз, түсініктемелерде маған хабарлаңыз.

Мен құралды әртүрлі веб-беттермен сынап көрдім. Бұл олардың көпшілігімен тамаша жұмыс істеді. Мен ендірілген кескіндердің кейбірі үшінші тарапта орналастырылғандықтан, «кесілмей жатқанын» байқадым. Бірақ тұтастай алғанда, мен EmailThis кез келген веб-бетті кіріс жәшігіне жіберудің жылдам әрі оңай жолы деп таптым.

Маған бұл опция «кейінірек оқу» опцияларына қарағанда жақсырақ ұнайды, өйткені менің кіріс жәшігім істер тізімінің функционалдығын қайталайды. Осылайша, мен маңызды деп санайтын веб-контент ұмытылмайды немесе назардан тыс қалмайды.

Редактордың ескертуі:Бұл мақала 2014 жылдың 25 ақпанында жарияланған және бүгін жаңартылды.

Веб-бетті электрондық поштаға жіберудің қандай жолдары бар?
Сұрақ авторының нені меңзегеніне байланысты әртүрлі тәсілдермен.

Мысалы, егер сізде скриншот бағдарламасы болса, скриншот жасауға болады ашық бетжәне оны электрондық пошта арқылы қажет адамға сурет ретінде жіберіңіз. Бұл жағдайда кескін өлі болады және сілтемелер жұмыс істемейді.

Мен стандартты әдістерді пайдаланып парақты сақтау дұрысырақ жауап болады деп ойлаймын. Браузердегі «файл» мәзірін басыңыз, содан кейін «басқаша сақтау» және бүкіл веб-бетті сақтаңыз. Егер бұл бет жіберілген адамның Интернетке кіру мүмкіндігі болса, ол парақтан сілтемелерді орындай алады, олар жұмыс істейді.

Бірінші жағдайда, жалпы кескін пішімі таңдалған болса, бетті ашу оңайырақ болады - bmp, jpg, gif. Екінші жағдайда, бір браузерде сақталған, бірақ басқасында ашылған бетті көрсетуде ақаулар болуы мүмкін, ол дұрыс көрсетілмеуі немесе мүлде ашылмауы мүмкін;

Екі жағдай да мұрағатта сақтауға, Интернетке тұрақты қол жеткізе алмайтын адамға жіберуге арналған. Бұл жағдайда оны хатқа тіркеген дұрыс.

Бірақ егер адамның әрқашан Интернеті болса, неге оған парақшаны сақтап, жіберу немесе тіркеме жасау керек? Мекенжай жолағында қалаған беттің сілтемесін көшіріп, хаттың негізгі бөлігіне қою әлдеқайда оңай.

Мұны істеу үшін сіз мамандандырылған пайдалануға болады онлайн қызметтермұрағаттау үшін, мысалы - Archive.today: бүгін архив

Мұнда тек ресурстың URL мекенжайын орналастыру керек және жүйе өзі zip файлын және веб-беттің «суретіне» URL сілтемесін жасайды, ол түпнұсқа нұсқасы жоғалып кетсе де, әрқашан желіде болады.

Zip файлын тіркеуге болады электрондық пошта, веб-беттің «суретіне» сілтемені электрондық пошта өрісіне қойып, барлығын осы арқылы жіберіңіз электрондық поштанемесе кез келген басқа жолмен сақтаңыз.

Мысалы, Мәскеудегі ЖҚС бетінің бүгінгі нұсқасы (zip файлымен бірге) мына жерде қолжетімді: бүгін мұрағат

Сондай-ақ, скриншоттарды түсіру үшін онлайн қызметтерді пайдалануға болады, мысалы, Web-capture: web-capture net

Интернетте көптеген қызықты және пайдалы контент бар. Кейде досыңызға сілтеме жіберу әлдеқайда оңай қызықты ақпаратоны сайттан көшіріп, басқа жолдармен жіберудің орнына. Сілтемені мүмкіндігінше ыңғайлы түрде қалай жіберуге болады?

Электрондық пошта

Көптеген заманауи электрондық пошта қызметтері жай ғана сілтеме енгізу мүмкіндігін қолдайды. Яғни, оны браузердің мекенжай жолағынан көшіріп алу керек, содан кейін оны әріпке қойыңыз және ол «басылатын» болады, яғни оны басқаннан кейін қажетті бет автоматты түрде ашылады.

Сайттың немесе беттің мекенжайын қолмен терсеңіз, сілтеме бұлай жұмыс істемейді. Мұны түзету үшін сілтеменің басына http:// немесе www жазып көріңіз. Яғни, site.com орнына http://site.com немесе www.site.com жазу керек Осыдан кейін сілтеме басылатын болады.

Сондай-ақ хаттағы кейбір сөздерге сілтеме қосуға болады. Мұны істеу үшін сіз оларды таңдап, құралдар тақтасындағы «Сілтемені кірістіру» түймесін басып, терезеде қажетті беттің мекенжайын көрсетуіңіз керек. Егер сіздің поштаңыз html тегтерін пайдалануды қолдаса, сіз келесідей сілтемені енгізе аласыз: сілтеме тіркейтін сөздер.

Сыныптастар

Одноклассники сайтында сілтеме жібермес бұрын, мұны істеуге мүмкіндік беретін арнайы бағдарламалық жасақтаманы жүктеп алу керек. Осындай бағдарламалардың бірі GF Tools болып табылады. Бұл толығымен тегін және пайдалану өте оңай. Сондай-ақ, сілтеме мәтінін басқа пайдаланушыға жіберген хабарламаға қоюға болады. Оны қабырғаға да іліп қоюға болады.

ВКонтакте

Сондай-ақ, сілтемені қабырғадағы күйге және хабарларға кірістіруге болады. Бұл жағдайда сілтеме барлық пайдаланушылар үшін «басылатын» болады. Қабырғаға сілтеме енгізген кезде, сайт сценарийі сілтеме берілген беттегі бірінші суретті, сондай-ақ одан бірнеше мәтін жолын автоматты түрде көрсетеді.

Веб-бетті электрондық поштаға жіберудің қандай жолдары бар?
Сұрақ авторының нені меңзегеніне байланысты әртүрлі тәсілдермен.

Мысалы, егер сізде скриншоттарды түсіруге арналған бағдарлама болса, сіз ашық беттің скриншотын түсіріп, оны қажетті адамның электрондық поштасына сурет ретінде жібере аласыз. Бұл жағдайда кескін өлі болады және сілтемелер жұмыс істемейді.

Мен стандартты әдістерді пайдаланып парақты сақтау дұрысырақ жауап болады деп ойлаймын. Браузердегі «файл» мәзірін басыңыз, содан кейін «басқаша сақтау» және бүкіл веб-бетті сақтаңыз. Егер бұл бет жіберілген адамның Интернетке кіру мүмкіндігі болса, ол парақтан сілтемелерді орындай алады, олар жұмыс істейді.

Бірінші жағдайда, жалпы кескін пішімі таңдалған болса, бетті ашу оңайырақ болады - bmp, jpg, gif. Екінші жағдайда, бір браузерде сақталған, бірақ басқасында ашылған бетті көрсетуде ақаулар болуы мүмкін, ол дұрыс көрсетілмеуі немесе мүлде ашылмауы мүмкін;

Екі жағдай да мұрағатта сақтауға, Интернетке тұрақты қол жеткізе алмайтын адамға жіберуге арналған. Бұл жағдайда оны хатқа тіркеген дұрыс.

Бірақ егер адамның әрқашан Интернеті болса, неге оған парақшаны сақтап, жіберу немесе тіркеме жасау керек? Мекенжай жолағында қалаған беттің сілтемесін көшіріп, хаттың негізгі бөлігіне қою әлдеқайда оңай.

Ол үшін сіз мамандандырылған онлайн мұрағаттау қызметтерін пайдалана аласыз, мысалы - Archive.today: бүгін мұрағат

Мұнда тек ресурстың URL мекенжайын орналастыру керек және жүйе өзі zip файлын және веб-беттің «суретіне» URL сілтемесін жасайды, ол түпнұсқа нұсқасы жоғалып кетсе де, әрқашан желіде болады.

Zip файлын электрондық поштаға тіркеуге болады, веб-беттің «суретіне» сілтеме электрондық пошта өрісіне кірістірілуі мүмкін және барлығын электрондық пошта арқылы жіберуге немесе кез келген басқа жолмен сақтауға болады.

Мысалы, Мәскеудегі ЖҚС бетінің бүгінгі нұсқасы (zip файлымен бірге) мына жерде қолжетімді: бүгін мұрағат

Сондай-ақ, скриншоттарды түсіру үшін онлайн қызметтерді пайдалануға болады, мысалы, Web-capture: web-capture net

Сайттағы ең танымал функциялардың бірі - өтінім немесе тапсырыс формасы, оның деректері сайт иесіне электрондық пошта арқылы жіберіледі. Әдетте, мұндай пішіндер қарапайым және деректерді енгізуге арналған екі немесе үш өрістен тұрады. Мұндай тапсырыс формасын қалай жасауға болады? Бұл HTML белгілеу тілін және PHP бағдарламалау тілін пайдалануды талап етеді.

HTML белгілеу тілінің өзі қарапайым; сізге белгілі бір тегтерді қалай және қайда қою керектігін анықтау керек. РНР бағдарламалау тілімен бәрі біршама күрделірек.

Бағдарламашы үшін мұндай пішінді жасау қиын емес, бірақ HTML макетінің дизайнері үшін кейбір әрекеттер қиын болып көрінуі мүмкін.

html-де деректерді жіберу пішінін жасаңыз

Бірінші жол келесідей болады

Бұл пішіннің өте маңызды элементі. Онда деректердің қалай және қай файлға тасымалданатынын көрсетеміз. IN бұл жағдайдабарлығы send.php файлына POST әдісі арқылы жіберіледі. Бұл файлдағы бағдарлама сәйкесінше деректерді қабылдауы керек, ол пост массивінде болады және оны көрсетілген электрондық пошта мекенжайына жібереді.

Формаға оралайық. Екінші жолда толық аты-жөніңізді енгізу өрісі болады. Келесі код бар:

Пішін түрі мәтін болып табылады, яғни пайдаланушы осы жерге мәтінді пернетақтадан енгізе немесе көшіре алады. Name параметрі пішіннің атын қамтиды. Бұл жағдайда пайдаланушы осы өріске енгізгеннің барлығы осы атаумен жіберіледі. Толтырғыш параметрі түсініктеме ретінде осы өрісте не жазылатынын көрсетеді.

Келесі жол:

Мұнда барлығы дерлік бірдей, бірақ өрістің атауы электрондық пошта болып табылады және түсіндірме пайдаланушы өзінің электрондық пошта мекенжайын осы пішінде енгізеді.

Келесі жол «жіберу» түймесі болады:

Ал пішіндегі соңғы жол тег болады

Енді барлығын біріктірейік.





Енді пішіндегі өрістерді міндетті етейік. Бізде келесі код бар:





HTML пішінінен деректерді қабылдайтын файлды жасаңыз

Бұл send.php деп аталатын файл болады

Файлда бірінші кезеңде пост массивінен деректерді қабылдау қажет. Ол үшін біз екі айнымалыны жасаймыз:

$fio = $_POST["fio"];
$email = $_POST["электрондық пошта"];

РНР тіліндегі айнымалы атауларының алдында $ белгісі қойылады және әр жолдың соңына нүктелі үтір қойылады. $_POST - пішіндегі деректер жіберілетін массив. Html пішінінде жіберу әдісі method="post" ретінде көрсетіледі. Сонымен, html пішінінен екі айнымалы қабылданады. Сайтыңызды қорғау үшін бұл айнымалы мәндерді бірнеше сүзгілерден өткізу керек - php функциялары.

Бірінші функция пайдаланушы пішінге қосуға тырысатын барлық таңбаларды түрлендіреді:

Бұл жағдайда php-де жаңа айнымалылар жасалмайды, бірақ барлары пайдаланылады. Сүзгі таңбаны түрлендіреді »<" в "<". Также он поступить с другими символами, встречающимися в html коде.

Екінші функция, егер пайдаланушы оны пішінге қосуға әрекет жасаса, URL мекенжайын шешеді.

$fio = urldecode($fio);
$электрондық пошта = urldecode($электрондық пошта);

Үшінші функция арқылы жолдың басынан және соңынан бос орындарды алып тастаймыз, егер бар болса:

$fio = кесу($fio);
$электрондық пошта = кесу($электрондық пошта);

PHP айнымалыларын сүзуге мүмкіндік беретін басқа да функциялар бар. Оларды пайдалану шабуылдаушы осы html электрондық поштаны жіберу пішініне бағдарлама кодын қосуға әрекеттенетініне қаншалықты алаңдайтыныңызға байланысты.

HTML пішінінен PHP файлына тасымалданатын деректерді тексеру

Бұл кодтың жұмыс істеп тұрғанын және деректердің тасымалдануын тексеру үшін оны echo функциясы арқылы экранда көрсетуге болады:

echo $fio;
жаңғырық»
";
echo $электрондық пошта;

Мұндағы екінші жол php айнымалыларының шығысын әртүрлі жолдарға бөлу үшін қажет.

PHP арқылы HTML пішінінен алынған деректерді электрондық поштаға жіберу

Деректерді электрондық пошта арқылы жіберу үшін PHP тіліндегі пошта функциясын пайдалану қажет.

mail("қай мекенжайға жіберу керек", "хаттың тақырыбы", "Хабар (хаттың негізгі бөлігі)","Кімнен: хат қай электрондық поштадан жіберіледі \r\n");

Мысалы, деректерді сайт иесінің немесе менеджердің электрондық поштасына жіберу керек [электрондық пошта қорғалған].

Хаттың тақырыбы анық болуы керек және хаттың хабарламасында HTML пішінінде қолданушы көрсеткен нәрсе болуы керек.

пошта (« [электрондық пошта қорғалған]", "Сайттан өтінім", "Аты-жөні:".$fio.". Электрондық пошта: ".$email ,"Кімнен: [электрондық пошта қорғалған]\r\n");

Пішіннің көрсетілген электрондық пошта мекенжайына PHP арқылы жіберілгенін тексеретін шартты қосу қажет.

егер (пошта(" [электрондық пошта қорғалған]", "Сайттан тапсырыс", "Аты-жөні:".$fio.". Электрондық пошта: ".$email ,"Кімнен: [электрондық пошта қорғалған]\r\n"))
{
echo «хабарлама сәтті жіберілді»;
) басқа (
}

Осылайша, HTML пішін деректерін электрондық поштаға жіберетін send.php файлының бағдарлама коды келесідей болады:

$fio = $_POST["fio"];
$email = $_POST["электрондық пошта"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($электрондық пошта);
$fio = urldecode($fio);
$электрондық пошта = urldecode($электрондық пошта);
$fio = кесу($fio);
$электрондық пошта = кесу($электрондық пошта);
//echo $fio;
//жаңғырық»
";
//echo $email;
егер (пошта(" [электрондық пошта қорғалған]", "Сайттан өтінім", "Аты-жөні:".$fio.". Электрондық пошта: ".$email ,"Кімнен: [электрондық пошта қорғалған]\r\n"))
(«хабарлама сәтті жіберілді» жаңғырығы;
) басқа (
echo «хабарламаны жіберу кезінде қателер орын алды»;
}?>

Деректердің файлға тасымалдануын тексеру үшін үш жолға түсініктеме беріледі. Қажет болса, оларды жоюға болады, өйткені олар тек жөндеу үшін қажет болды.

Пішінді жіберуге арналған HTML және PHP кодын бір файлға орналастырамыз

Осы мақалаға түсініктемелерде көптеген адамдар HTML пішіні мен деректерді электрондық поштаға жіберуге арналған PHP коды екеуі емес, бір файлда екеніне қалай көз жеткізу керек деген сұрақты қояды.

Бұл жұмысты жүзеге асыру үшін send.php файлында пішіннің HTML кодын орналастыру керек және POST массивінде айнымалылардың бар-жоғын тексеретін шартты қосу керек (бұл массив формадан жіберіледі). Яғни, массивтегі айнымалылар жоқ болса, онда пайдаланушыға пішінді көрсету керек. Әйтпесе, массивтен деректерді алып, оны алушыға жіберу керек.

Send.php файлындағы PHP кодын өзгерту жолын көрейік:



Сайттан өтініш формасы


// POST массивінде айнымалы мәндердің бар-жоғын тексеріңіз
if(!isset($_POST["fio"]) және !isset($_POST["электрондық пошта"]))(
?>





) басқа (
//форманы көрсетіңіз
$fio = $_POST["fio"];
$email = $_POST["электрондық пошта"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($электрондық пошта);
$fio = urldecode($fio);
$электрондық пошта = urldecode($электрондық пошта);
$fio = кесу($fio);
$электрондық пошта = кесу($электрондық пошта);
егер (пошта(" [электрондық пошта қорғалған]", "Сайттан өтінім", "Аты-жөні:".$fio.". Электрондық пошта: ".$email ,"Кімнен: [электрондық пошта қорғалған]\r\n"))(
echo «Хабар сәтті жіберілді»;
) басқа (
echo «Хабарды жіберу кезінде қателер орын алды»;
}
}
?>

POST массивінде айнымалының бар-жоғын isset() PHP функциясы арқылы тексереміз. Шарттағы осы функцияның алдындағы леп белгісі терістеуді білдіреді. Яғни, егер айнымалы жоқ болса, онда біз өз пішінімізді көрсетуіміз керек. Егер мен леп белгісін қоймасам, шарт сөзбе-сөз «бар болса, пішінді көрсет» дегенді білдіреді. Ал бұл біздің жағдайда дұрыс емес. Әрине, оның атын index.php деп өзгертуге болады. Файлдың атын өзгертсеңіз, жолдағы файл атауын өзгертуді ұмытпаңыз

. Пішін бір бетке сілтеме жасау керек, мысалы index.php. Мен кодқа бет тақырыбын қостым.

Веб-сайттан PHP пішінін жіберу кезінде жиі кездесетін қателер

Бірінші, бәлкім, ең танымал қате - хабарсыз бос ақ бетті көргенде. Бұл бет кодында қате жібергеніңізді білдіреді. PHP-де барлық қателерді көрсетуді қосу керек, содан кейін қатенің қай жерде жасалғанын көресіз. Кодқа қосыңыз:

ini_set("қателерді көрсету","Қосулы");
error_reporting("E_ALL");

send.php файлы тек серверде іске қосылуы керек, әйтпесе код жұмыс істемейді. Бұл жергілікті сервер болмағаны жөн, өйткені ол әрқашан деректерді сыртқы пошта серверіне жіберу үшін конфигурацияланбаған. Егер кодты серверде емес іске қоссаңыз, PHP коды тікелей бетте көрсетіледі.

Осылайша, дұрыс жұмыс істеу үшін мен send.php файлын сайттың хостингіне орналастыруды ұсынамын. Әдетте, бәрі сонда конфигурацияланған.

Тағы бір жиі кездесетін қателік - «Хабар сәтті жіберілді» хабарламасы пайда болады, бірақ хат поштаға келмейді. Бұл жағдайда сызықты мұқият тексеру керек:

егер (пошта(" [электрондық пошта қорғалған]", "Сайттан тапсырыс", "Аты-жөні:".$fio.". Электрондық пошта: ".$email ,"Кімнен: [электрондық пошта қорғалған]\r\n"))

Орнына [электрондық пошта қорғалған] хат жіберілетін электрондық пошта мекенжайы болуы керек, бірақ оның орнына[электрондық пошта қорғалған] осы сайт үшін бұрыннан бар электрондық пошта болуы керек. Мысалы, веб-сайт үшін бұл болады . Тек осы жағдайда пішіндегі деректері бар хат жіберіледі.