Як зробити на своєму сайті пошту

Як зробити на своєму сайті пошту

Форма зворотнього зв’язку — обов’язковий атрибут будь-якого сайту, створеного для вирішення будь-яких серйозних завдань. Один з найбільш простих способів організувати відправку email-повідомлення від відвідувача сайту його власникові — використовувати команду mail мови PHP. Нижче — покрокова інструкція як це зробити.

Вам знадобиться

Базові знання мов PHP і HTML

Інструкція

  1. Крок 1: створіть новий php-документ.

    У будь-якому текстовому редакторі (наприклад — в стандартному Блокноті) створіть новий документ. Відразу впишіть в нього каркас html-коду сторінки, який будете доповнювати по ходу створення механізму відправки email-повідомлень:

    <html>

    <head>

     <title> Відправка eMail-повідомлення </ title>

     <meta http-equiv=»Content-Type» content=»text/html; charset=windows-1251″>

    </ Head>

    <body>

    </ Body>

    </ Html>
  2. Крок 2: додайте в документ html-форму.

    Тепер слід додати між html-тегами <body> і </ body> інструкції браузеру відобразити форму для введення відвідувачем даних і відправки їх на сервер. Спочатку — відкриває тег форми:

    <form method=»POST»>

    Атрибут method вказує яким способом браузері мають надіслати інформацію на сервер.

    Тут потрібно вкласти інструкцію мовою php — вона буде виводити повідомлення для відвідувача, після того як він відправить дані на сервер і вони будуть оброблені скриптом:

    <? Php if ($ mess) echo $ msg;?>

    Наступний рядок сформує поле, в котре відвідувач повинен вказати своє ім’я:

    Ваше ім’я: <input type=»text» name=»name» /> <br />

    Тут атрибут type вказує тип цього елементу форми — просте текстове поле. А атрибут name це ім’я змінної, в якої введене в це поле буде передано на сервер — name. Тег <br /> — «переведення каретки».

    Далі треба дати можливість відвідувачу вказати свій email-адресу для зв’язку з ним:

    E-mail: <input type=»text» name=»email» /> <br />

    Тут все аналогічно попередньому рядку. Ім’я змінної, в якої на сервер буде переданий поштова адреса відвідувача — email.

    Тепер треба додати багатосторінкове текстове поле (тег textarea) для введення тексту повідомлення:

    Повідомлення: <br /> <textarea name=»mess» rows=»6″ cols=»20″> </ textarea> <br />

    Атрибути rows і cols задають розмір цього поля — rows вказує кількість рядків, а cols — число знаків у кожному рядку. Введений текст буде відправлений у змінній з імененм mess.

    Після всіх полів додайте кнопку для відправки повідомлення:

    <input type=»submit» value=»Отправіть» /> <br />

    В атрибуті value цього тега зазначений текст напису на кнопці («Відправити»).

    Для роботи php-скрипта буде потрібна ще одна змінна, яка повинна бути відправлена ​​разом з даними з форми. Додайте її в прихованому від відвідувача елементі форми:

    <input type=»hidden» name=»act» value=»send» />

    Ім’я цієї змінної «act», а передається значення — «send».

    Залишилося додати тільки закриває тег форми:

    </ Form>
  3. Крок 3: додайте php-код обробки даних з форми.

    Натисканням кнопки з написом «Відправити» відвідувач відішле введену ним інформацію. Так як в тезі form немає атрибута action, який повинен вказувати інтернет-адреса скрипта для відправки даних, то вони будуть послані на адресу цієї ж самої сторінки. Тому в html-код цієї сторінки потрібно додати php-інструкції для отримання, перевірки і відправки на ваш email даних з форми.

    Починатися вони повинні з відкриваючого php-тега:

    <? Php

    У наступному рядку вкажіть змінну, яка міститиме повідомлення для відвідувача. Поки порожню:

    $ Msg = «»;

    Тепер скрипт повинен перевірити надіслані чи дані з форми. Сервер, отримуючи дані, відправлені методом POST, поміщає їх у суперглобальні масив з ім’ям $ _POST. Значить скрипту треба перевірити — чи є в цьому масиві хоч якась інформація з форми. Відвідувач міг не заповнити ні одного поля, але прихована змінна все одно має бути присутня — її наявність і будемо перевіряти:

    if ($ _POST ['act']==» send «) {

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

    $ Email_length = 500;

    Це максимально дозволену кількість знаків у повідомленні відвідувача.

    $ Email_html = false;

    Якщо користувач введе в повідомленні html-теги, то вони будуть вирізані скриптом. Якщо ж їх слід залишати, то значення false цієї змінної замініть на true.

    $ Email_recepient = «moi_adres@gmail.com»;

    Це адреса вашої пошти, на який скрипт повинен відправляти повідомлення відвідувачів.

    $ Email_subject = «Повідомлення від відвідувача сайту»;

    Змінна містить текст, який буде вказано в темі посилається вам листа.

    $ Email_regex =

    Цю змінну міняти не слід — в ній міститься шаблон регулярного виразу, використовуваного скриптом для перевірки правильності формату email-адреси, введеного відвідувачем в поле email. У наступному рядку якраз і буде ця перевірка:

    if ((!$_ POST ['email']) | | (! preg_match ($ email_regex, $ _POST ['email']))) $ msg .= «Вказано невірний e-mail адресу.»;

    Якщо відвідувач вказав явно неправильна адреса для зв’язку з ним, то скрипт видасть повідомлення про це. Всі такі повідомлення до закінчення роботи скрипта підсумовуються в змінну $ msg.

    Тепер перевірка наявності самого тексту повідомлення:

    if (! $ _POST ['mess']) $ msg .= «Ні тексту повідомлення»;

    Якщо відвідувач залишив поле для тексту порожнім, то в змінну $ msg додасться повідомлення і про це.

    Якщо у змінній $ email_html ви задали видалення html-тегів з тексту повідомлення, то скрипт зробить це в наступних двох рядках:

    $ UserMess = $ _POST ['mess'];

    if (! $ email_html) $ userMess = strip_tags ($ userMess);

    І на завершення всіх перевірок — перевірка довжини повідомлення:

    if (strlen ($ userMess)> $ email_length) $ msg .= «Довжина тексту повідомлення перевищує допустиму ($ email_length знаків). <br /> n»;

    Якщо хоч одна з перевірок не пройдена, то змінна $ msg вже не порожня. Тоді треба дооформити всі записані в неї повідомлення про помилки — додати текст «Помилка» і задати відтінок червоного кольору:

    if ($ msg) $ msg = «<font color=»crimson»> Помилка: $ msg </ font>»;

    А якщо перевірки пройдені, то підготувати дані до відправки на Вашу:

    else {

    $ UserMess = «Ім’я:». $ _POST ['Name'].»< br> n — <br> n «. $ UserMess.» <br> N <br> n- — <br> n «;

    $ Headers = «Content-Type: text / html; charset = windows-1251 n»;

    $ Headers .= «From: <$ _POST ['email']> nX-Mailer: siteMailer»;

    Наступний рядок запускає поштову програму вашого сервера і відправляє підготовлене повідомлення:

    mail ($ email_recepient, $ email_subject, $ userMess, $ headers);

    Тепер залишилося скласти повідомлення для відвідувача про те, що його послання надіслано:

    $ Msg = «<font color=»green»> Ваше повідомлення надіслано. Спасибі! </ Font> <br /> n»;

    }

    }

    ?>
  4. Крок 4: додайте сторінку на сервері.

    Створену php-сторінку збережіть з потрібним вам ім’ям і розширенням php і завантажте на сервер до вашого сайту.

    Звичайно, це сторінка «в голому вигляді», вам потрібно оформити її так само, як оформлені інші сторінки вашого сайту. Або ж узяти елементи цієї сторінки та додати їх у вже існуючу сторінку сайту.