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

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

Форма зворотного зв'язку - обов'язковий атрибут будь-якого сайту, створеного для вирішення скільки-небудь серйозних завдань. Один з найбільш простих способів організувати відправку 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 Ця електронна адреса захищена від спам-ботів. Вам необхідно увімкнути JavaScript, щоб побачити її.;

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

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

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

$email_regex = /^$/;

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

if $msg .= Вказаний невірний e - mail адреса.;

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

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

if $msg .= Немає тексту повідомлення;

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

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

$userMess = $_POST['mess'];

if $userMess = strip_tags ($userMess);

І на завершення усіх перевірок - перевірка довгі повідомлення:

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

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

if $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 і завантажите на сервер до вашого сайту.

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