Надіслати сторінку по електронній пошті. Як відправити собі по електронній пошті веб-сторінку за все один клік

Є багато способів "вирізати" веб-сторінку.

Але Pocket вимагає наявності програми та аккаунта Pocket. Це означає, що потрібно встановити ще один додаток, увійти в сервіс, синхронізувати і т. Д. Було б непогано, якби можна було виконати те ж саме за допомогою своєї поштової скриньки.

Така ідея EmailThis, який в точності відповідає своїй назві. Одним клацанням миші цей букмарклет (або розширення,
якщо ви користувач Хром) доставить поточну веб-сторінку в ваш поштова скринька. І, як Pocket, цей Тервіс видаляє всю рекламу і недружнє для мобільних пристроїв форматування, залишаючи вам просто зручний для читання текст і зображення. (Він також надає вихідну посилання внизу, якщо ви хочете повернутися на сайт.)

Як тільки ви завершили первинне налаштування (англійською), використовувати EmailThis можна буквально одним натисканням кнопки: натисніть на букмарклет (або значок розширення), коли ви хочете відправити собі сторінку, яку ви зараз переглядаєте.

Цікаво, що закладка також сумісна з браузерами для Андроїда і iOS, але його використання вимагає трохи більших зусиль. Користувачі Андроїда повинні ввести "email this" в адресний рядок, тоді як користувачам iOS необхідно відкрити свої збережені закладки та натиснути "Email This".

Зрозуміло, у багатьох мобільних браузерах передбачена опція "читати пізніше", яка відмінно працює. Але якщо ви хочете, щоб сторінка була доставлена \u200b\u200bв папку «Вхідні», це кращий спосіб.

На жаль, EmailThis несумісний з Microsoft Edge, який не підтримує букмарклет. Якщо ви знайшли спосіб обходу, обов'язково повідомте в коментарях.

Я тестував інструмент з різними веб-сторінками. Він відмінно працював з більшістю з них. Я помітив, що деякі впроваджені зображення не "вирізалися", можливо, через те, що вони були розташовані на сторонньому хостингу. Але в цілому EmailThis мені здався швидким і легким способом відправити будь-яку веб-сторінку в свою поштову скриньку.

І мені подобається цей варіант більше, ніж різні "прочитати пізніше", тому що мою поштову скриньку дублює функції списку справ. Таким чином, веб-контент, який я вважаю важливим, що не забувається і не береться до уваги.

Примітка редактора: Ця стаття була вперше опублікована 25 лютого 2014 року і сьогодні оновлена.

Якими способами можна відправити веб-сторінку на електронну пошту?
Різними способами, дивлячись що мав на увазі автор питання.

Наприклад, маючи програму для зняття скріншотів, можна зробити скріншот відкритої сторінки і послати його в вигляді зображення на електронну пошту потрібного вам людини. У цьому випадку буде мертве зображення, і посилання працювати не будуть.

Підозрюю, що більш правильною відповіддю буде збереження сторінки стандартними методами. Натискаємо в браузері меню "файл", потім "зберегти як" та зберігаємо веб-сторінку повністю. При наявності інтернету у людини, кому посланий а ця сторінка, він зможе пройти по посиланнях зі сторінки, вони будуть робочими.

У першому випадку сторінку буде відкрити легше, якщо буде обраний поширений формат зображень - bmp, jpg, gif. У другому випадку можуть бути проблеми з відображенням сторінки, збереженої в одному браузері, але відкривається в іншому, може відображатися некоректно або зовсім не відкриватися.

Обидва випадки розраховані для збереження в архіві, для посилки людині, яка не має постійного доступу в інтернет. В цьому випадку краще робити вкладення до листа.

Але якщо у людини завжди є інтернет - навіщо зберігати і надсилати йому сторінку, робити вкладення? Куди простіше скопіювати в адресному рядку посилання потрібної сторінки і вставити в текст листа.

Для цього можна скористатися спеціалізованими онлайн сервісами для архівування, наприклад - Archive.today: archive today

Тут досить просто розмістити URL адресу ресурсу і система сама створить zip файл і URL посилання на «знімок» веб-сторінки, який завжди буде онлайн, навіть якщо вихідний варіант зникне.

Zip файл можна прикріпити до електронного листа, Посилання на «знімок» веб-сторінки вставити в поле листи і відправити все це по електронній пошті або зберегти будь-яким іншим способом.

Наприклад, сьогоднішня версія сторінки Moscow FAQ (разом з zip файлом) доступна тут: archive today

Також можна використовувати онлайн-сервіси для створення скріншотів, наприклад Web-capture: web-capture net

Якими способами можна відправити веб-сторінку на електронну пошту?
Різними способами, дивлячись що мав на увазі автор питання.

Наприклад, маючи програму для зняття скріншотів, можна зробити скріншот відкритої сторінки і послати його в вигляді зображення на електронну пошту потрібного вам людини. У цьому випадку буде мертве зображення, і посилання працювати не будуть.

Підозрюю, що більш правильною відповіддю буде збереження сторінки стандартними методами. Натискаємо в браузері меню "файл", потім "зберегти як" та зберігаємо веб-сторінку повністю. При наявності інтернету у людини, кому посланий а ця сторінка, він зможе пройти по посиланнях зі сторінки, вони будуть робочими.

У першому випадку сторінку буде відкрити легше, якщо буде обраний поширений формат зображень - bmp, jpg, gif. У другому випадку можуть бути проблеми з відображенням сторінки, збереженої в одному браузері, але відкривається в іншому, може відображатися некоректно або зовсім не відкриватися.

Обидва випадки розраховані для збереження в архіві, для посилки людині, яка не має постійного доступу в інтернет. В цьому випадку краще робити вкладення до листа.

Але якщо у людини завжди є інтернет - навіщо зберігати і надсилати йому сторінку, робити вкладення? Куди простіше скопіювати в адресному рядку посилання потрібної сторінки і вставити в текст листа.

Для цього можна скористатися спеціалізованими онлайн сервісами для архівування, наприклад - Archive.today: archive today

Тут досить просто розмістити URL адресу ресурсу і система сама створить zip файл і URL посилання на «знімок» веб-сторінки, який завжди буде онлайн, навіть якщо вихідний варіант зникне.

Zip файл можна прикріпити до електронного листа, посилання на «знімок» веб-сторінки вставити в поле листи і відправити все це по електронній пошті або зберегти будь-яким іншим способом.

Наприклад, сьогоднішня версія сторінки Moscow FAQ (разом з zip файлом) доступна тут: archive today

Також можна використовувати онлайн-сервіси для створення скріншотів, наприклад Web-capture: web-capture net

Однією з найбільш затребуваних функцій на сайті є форма заявки або замовлення, дані з якої відправляються на пошту власнику сайту. Як правило такі форми є простими і складаються з двох трьох полів для введення даних. Як же створити таку форму замовлення? Тут потрібно використання мови розмітки HTML і мови програмування PHP.

Мова розмітки HTML сам по собі нескладний, потрібно всього лише розібратися в тому як і де ставити ті чи інші теги. З мовою програмування PHP все трохи складніше.

Для програміста створити таку форму не складе труднощів, а ось HTML верстальщику може здатися складним деякі дії.

Створюємо форму відправки даних в html

Перший рядок буде наступною

Це дуже важливий елемент форми. У ньому ми вказуємо яким способом будуть передаватися дані і якому файлу. В даному випадку все передачется методом POST файлу send.php. Програма в цьому файлі відповідно повинна прийняти дані, вони будуть міститися в post масиві, і відправити їх на вказаний email адреса.

Повернемося до форми. Другий рядок буде містити поле для введення ПІБ. Має наступний код:

Тип форми text, тобто користувач зможе ввести або скопіювати сюди текст з клавіатури. Під параметром name міститься назва форми. В даному випадку це fio, саме під таким ім'ям буде передаватися все, що користувач введений в данно поле. Параметр placeholder вказує на те, що буде записано в цьому полі у вигляді пояснення.

Наступний рядок:

Тут практично все те ж саме, але ім'я для поля вказано email, а поясненні зазначено, щоб користувач в цю форму ввів свій адресу електронної пошти.

Наступним рядком буде кнопка "відправити":

І останнім рядком в формі буде тег

Тепер зберемо всі разом.





Тепер зробимо так, щоб поля в формі стали обов'язковими для заповнення. Маємо наступний код:





Створюємо файл, який приймає дані з HTML форми

Це буде файл з ім'ям send.php

У файлі на першому етапі потрібно прийняти дані з пост масиву. Для цього створюємо дві змінні:

$ Fio \u003d $ _POST [ "fio"];
$ Email \u003d $ _POST [ "email"];

Перед назвами змінних в php ставиться знак $, в кінці кожного рядка ставиться крапка з комою. $ _POST це масив в який передаються даний з форми. У формі html при цьому зазначений метод відправки method \u003d "post". Так, прийнято дві змінні з форми html. Для цілей захисту свого сайту потрібно провести ці змінні через кілька фільтрів - функцій php.

Перша функція перетворює всі символи, які користувач спробує додати в форму:

При цьому нові змінні в php не створюються, а використовуються вже наявні. Що зробить фільтр, він перетворює символ "<" в "<". Также он поступить с другими символами, встречающимися в html коде.

Друга функція декодує url, якщо користувач спробує його додати в форму.

$ Fio \u003d urldecode ($ fio);
$ Email \u003d urldecode ($ email);

Третин функцією ми видалимо прогалини з початку і кінця рядка, якщо такі є:

$ Fio \u003d trim ($ fio);
$ Email \u003d trim ($ email);

Існують і інші функції, що дозволяють відфільтрувати змінні php. Їх використання залежить від того, наскільки ви побоюєтеся того, що зловмисник спробує додати програмний код в дану форму відправки даних на пошту html.

Перевірка даних, що передаються від HTML форми в файл PHP

Для того, щоб перевірити, чи працює цей код, передаються дані можна просто їх вивести на екран за допомогою функції echo:

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

Другий рядок тут потрібна для того, щоб розділити висновок змінних php на різні строки.

Відправляємо отримані дані з форми HTML на пошту за допомогою PHP

Для відправки даних на пошту потрібно скористатися функцією mail в PHP.

mail ( "на яку адресу відправити", "тема листа", "Повідомлення (тіло листа)", "From: з якого email відправляється лист \\ r \\ n");

Наприклад, потрібно відправити дані на email власника сайту або менеджера [Email protected]

Тема листа повинна бути зрозумілою, а повідомлення листи повинно містити те, що вказав користувач в HTML формі.

mail ( " [Email protected]"," Заявка з сайту "," ПІБ: ". $ Fio.". E-mail: ". $ Email," From: [Email protected] \\ R \\ n ");

Необхідно додати умова, которе перевірить вирушила чи форма за допомогою PHP на зазначені адреса електронної пошти.

if (mail ( " [Email protected]"," Замовлення з сайту "," ПІБ: ". $ Fio.". E-mail: ". $ Email," From: [Email protected] \\ R \\ n "))
{
echo "повідомлення успішно відправлено";
) Else (
}

Таким чином програмний код файлу send.php, який відправить дані HTML форми на пошту буде виглядати наступним чином:

$ Fio \u003d $ _POST [ "fio"];
$ Email \u003d $ _POST [ "email"];
$ Fio \u003d htmlspecialchars ($ fio);
$ Email \u003d htmlspecialchars ($ email);
$ Fio \u003d urldecode ($ fio);
$ Email \u003d urldecode ($ email);
$ Fio \u003d trim ($ fio);
$ Email \u003d trim ($ email);
// echo $ fio;
// echo "
";
// echo $ email;
if (mail ( " [Email protected]"," Заявка з сайту "," ПІБ: ". $ Fio.". E-mail: ". $ Email," From: [Email protected] \\ R \\ n "))
(Echo "повідомлення успішно відправлено";
) Else (
echo "при відправці повідомлення виникли помилки";
}?>

Три рядки для перевірки, чи передаються дані в файл закоментовані. При необхідності їх можна видалити, так як вони потрібні були тільки для налагодження.

Розміщуємо HTML і PHP код відправки форми в один файл

У коментарях до цієї статті багато хто ставить питання про те, як зробити, щоб і HTML форма і PHP код відправки даних на пошту знаходилися в одному файлі, а не двох.

Для реалізації такої роботи потрібно помістити HTML код форми в файл send.php і додати умова, яке перевірятиме наявність змінних в масиві POST (цей масив передається з форми). Тобто, якщо змінні в масиві не існують, то потрібно показати користувачеві форму. Інакше потрібно прийняти дані з масиву і відправити їх адресату.

Давайте подивимося як змінити PHP код в файлі send.php:



Форма заявки з сайту


// перевіряємо, чи існують змінні в масиві POST
if (! isset ($ _ POST [ "fio"]) and! isset ($ _ POST [ "email"])) (
?>





) Else (
// показуємо форму
$ Fio \u003d $ _POST [ "fio"];
$ Email \u003d $ _POST [ "email"];
$ Fio \u003d htmlspecialchars ($ fio);
$ Email \u003d htmlspecialchars ($ email);
$ Fio \u003d urldecode ($ fio);
$ Email \u003d urldecode ($ email);
$ Fio \u003d trim ($ fio);
$ Email \u003d trim ($ email);
if (mail ( " [Email protected]"," Заявка з сайту "," ПІБ: ". $ Fio.". E-mail: ". $ Email," From: [Email protected] \\ R \\ n ")) (
echo "Повідомлення успішно відправлено";
) Else (
echo "Коли Ви надсилаєте ПП виникли помилки";
}
}
?>

Існування змінної в POST масиві ми перевіряємо PHP функцією isset (). Знак оклику перед цією функцією в умови означає заперечення. Тобто, якщо змінної не існує, то потрібно показати нашу форму. Якби я не поставив знак оклику, то умова дослівно означало б - "якщо існує, то показати форму". А це неправильно в нашому випадку. Природно, що ви можете перейменувати його в index.php. Якщо будуть перейменовувати файл, то не забудьте перейменувати назву файлу і в рядку

. Форма повинна посилатися на цю ж сторінку, наприклад index.php. У код я додав заголовок сторінки.

Часті помилки, що виникають при відправці PHP форми з сайту

Перша, напевно найпопулярніша помилка, це коли ви бачите порожню білу сторінку без повідомлень. Це означає, що ви допустили помилку в коді сторінки. Вам потрібно включити відображення всіх помилок в PHP і тоді ви побачите, де допущена помилка. Додайте в код:

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

Файл send.php повинен запускатися тільки на сервері, інакше код просто не буде працювати. Бажано, щоб це був не локальний сервер, так як він не завжди налаштований на відправку даних на зовнішній поштовий сервер. Якщо ви запустите код не на сервері, то вам відобразитися код PHP прямо на сторінці.

Таким чином, для коректної роботи я рекомендую помістити файл send.php на хостинг сайту. Там, як правило, все вже налаштовано.

Ще одна часта помилка, коли з'являється сповіщення "Повідомлення успішно відправлено", а лист не приходить на пошту. В цьому випадку потрібно уважно перевірити рядок:

if (mail ( " [Email protected]"," Замовлення з сайту "," ПІБ: ". $ Fio.". E-mail: ". $ Email," From: [Email protected] \\ R \\ n "))

замість [Email protected] повинен бути email адреса на який потрібно відправити лист, а замість[Email protected] повинен бути існуючий email даного сайту. Наприклад для сайту сайт це буде . Тільки в цьому випадку лист з даними з форми буде надіслано.

Поділитися