Форма отправки писем с сайта

Зеркало www.ebalovo.mobi. | IpServer.su — надежная и дешевая аренда Vds

PHPSendMail

Для использования формы нужно просто внести установки своей почты и все. В целом скрипт готов к использованию и эта форма обратной связи для сайта на HTML с PHP обработчиком, идеально подойдет для небольших сайтов, сайтов визиток.

Simple PHP Send Mail

С этим очень ЛЁГКИМ php скриптом, посетители вашего сайта смогут отправлять письма непосредственно вам на почту через форму обратной связи.

PHP + AJAX скрипт отправки форм на E-mail

Универсальный скрипт отправки данных из форм на email. Скрипт идеально подойдет для сайтов типа Landing Page, сайтов визиток и т.д.

PHP Mailer Final с капчей

Скрипт выводит форму и, при заполнении необходимых полей, отправляет на Ваш e-mail сообщение. В скрипт встроена защита от роботов: перед отправкой письма надо ввести капчу.

GentleSource Form Mail

На ваш выбор две опции: или пользователь при помощи редиректа попадает на Thank-You-Page с вашим текстом или же, пользователю отображается информация, о том, что сообщение успешно отправлено.

Micro Mailer

Micro Mailer – это не большой PHP скрипт, который позволяет вам и посетителям вашего сайта отправить письмо любому адресату.

Web4you-FM

Web4you-FM Отправка письма с вашего сайта. Возможности: 1 — Выбор адресата и сколько их будет (от 1 до 4). 2 — Проверка на корректность заполнения формы. Кому. Имени, только буквы .

Дальше | v.1.0 | Скачано: раз

Light PHP Contact Form

Настолько простой скрипт отправки почты, через форму обратной связи, что даже человек, не знающий PHP/HTML языка, сможет использовать программу без затруднений .

DodosMail

DodosMail – это простой в установке PHP скрипт, который позволяет отправлять письма через форму обратной связи, на вашем сайте. Вам просто нужно загрузить php файл.

Дальше | v.2.5 | Скачано: раз

PHP Contact Form

Скрипт PHP Contact Form включает в себя следующие функции: 1) функция предотвращения спама. Пользователь должен ввести защитный код, также известный как капча.

TPCS Contact (email form)

Этот TPCS Contact скрипт, позволит вашим посетителям связаться с вами через форму обратной связи. Вся информация будет отправлена вам на электронную почту.

Feedback mailer

Feedback mailer перенаправляет всю информацию из формы обратной связи на вашем сайте, напрямую к вам на почту. Этот маленький скрипт очень быстро обрабатывает все запросы.

Дальше | v.1.2 | Скачано: раз

Easy PHP Contact Form

Простой, но безопасный PHP скрипт контакта с вебмастером при помощи формы обратной связи с проверкой кода (КАПЧА) для предотвращения спама.

Дальше | v.2.1 | Скачано: раз

PHP Contact form (with image verification)

Контактная форма, которая предотвращает спам, спрашивая пользователя ввести защитный код с картинки. Если вы используете совсем простую форму обратной связи, рано или поздно спаммеры найдут способ посылать вам рекламу в автоматическом режиме.

CW3 Form Mail

Скрипт очень легко установить и настроить под внешний вид вашего сайта. Вы можете изменить размер формы обратной связи и текст сообщения, которое выводиться при успешной отправки письма.

Дальше | v.3.30 | Скачано: раз

reCAPTCHA Contact Form

Этот бесплатный скрипт PHP обратной связи, позволяет гораздо легче получать письма или отзывы от ваших посетителей. Вашим посетителем, нужно только заполнить все необходимые поля контактной .

Дальше | v.1.4 | Скачано: раз

phMailer

phMailer – это очень простой PHP скрипт обратной связи, который поддерживает функцию прикрепления файла (attachments) благодаря встроенной mail() function языка PHP.

Привет, Друзья! Хочу представить вашему вниманию универсальный скрипт отправки данных из форм на email. Скрипт идеально подойдет для сайтов типа Landing Page, сайтов визиток и т.д. Наш скрипт Формы обратной связи выделяется среди массы остальных скриптов в интернете тем, что имеет возможность подключения неограниченного количества форм с разными полями на одной странице и способен отправлять письма нескольким получателям.

Итак. Давайте приступим. Начнем пожалуй с возможностей скрипта.

  1. Подключение неограниченного количества форм на одной странице.
  2. Проверка правильности заполнения полей.
  3. Настройка уведомлений.
  4. Возможность использования шаблонов писем для каждой формы.
  5. Тип письма — html (если используются html теги)
  6. Отправка на неограниченное количество адресов.
  7. Индивидуальная настройка каждой формы.
  8. Скрипт работает на AJAX, без перезагрузки страницы.
  9. Защита от спам ботов.

Читайте также:  Система автоматизации документооборота это

Первоначальная настройка.

Скрипт работает на основе библиотеки jQuery, поэтому первое что нам необходимо сделать это подключить ее. Для этого рекомендую воспользоваться Google Hosted Libraries.

О остальных файлах давайте подробнее:

feedback.js — основной файл скрипта, отвечает за AJAX отправку формы.
jquery.arcticmodal.js,
jquery.arcticmodal.css
— обеспечивают возможность вывода форм в модальном окне.
jquery.jgrowl.js,
jquery.jgrowl.css
— позволяют выводить уведомления на странице (блоки в верхнем углу страницы).

HTML и обязательные атрибуты.

Обязательным атрибутом для всех элементов формы является атрибут name=»» — необходим для последующей настройки формы.
Для кнопки (type=«button») обязательно нужно указать class=«feedback». Так же хочу обратить ваше внимание на то, что в качестве кнопки может выступать любой html тег с классом «feedback».

Вызов формы в модальном окне

Для вызова формы в модальном окне сперва нужно определить действие по нажатию на какой либо тег, например div с классом modal_btn

Так как форма должна быть видна только в модальном окне ее нужно скрыть, поместив в div с атрибутом style=«display: none;», а также для стилизации модального окна обернуть в парочку стандартных дивов.

Вот мы и разобрались с основными настройками подключения нашего скрипта отправки форм на E-mail. Давайте теперь заглянем во внутрь и разберемся с настройкой полей, уведомлений да и всего остального, что там есть.

Пример настроек для одной формы

Настройки всех форм хранятся в файле feedbackindex.php

Для добавления настроек новой формы, нужно по примеру массива $form[‘form-1’] создать новый массив $form[»]

Помните я говорил о обязательном атрибуте name=»»?

Обязательным атрибутом для всех элементов формы является атрибут name=»» — необходим для последующей настройки формы.

Так вот пришло время рассказать для чего же он все таки нужен.
name=»» — это буквенно-цифровой ключ для массива, должен быть уникальным для массива $form[»]

Пример html кода для наглядности

Теперь давайте разберемся с массивами и для чего они нужны.

$form[‘form-1’] = array();
$form[‘form-2’] = array(); и т.д.
Это основные массивы для каждой новой формы, содержат в себе:

  1. ‘fields’ => array(); — Массив настроек элементов формы.
    • ‘name’ => array(); — Массив настроек элемента формы (например input name=«name» type=«text») который имеет ряд настроек.
      • ‘title’ => ‘Ваше имя’ — название элемента формы, будет выводится при ошибках или в шаблоне
      • ‘validate’ => array(); — массив, содержит правила валидации элемента формы
        • ‘preg’ => ‘%[A-Z-a-zА-Яа-яs]%’ — регулярное выражение
        • ‘minlength’ => ‘3’ — минимальный размер поля
        • ‘maxlength’ => ’35’ — максимальный размер поля
        • ‘substr’ => ’35’ — всегда обрезать до N символов
        • ‘messages’ => array(); — массив, содержит сообщения валидации, а именно:
          • ‘preg’ => ‘Элемент формы не соответствует регулярному выражению’ — ошибка валидации, ключ(preg) не соответствие ключу валидации
          • ‘minlength’ => ‘Минимальная длинна поля [ %1$s ] меньше допустимой — %2$s’ — ошибка валидации, ключ(preg) не соответствие ключу валидации
          • ‘maxlength’ => ‘Максимальная длинна поля [ %1$s ] превышает допустимую — %2$s’ — ошибка валидации, ключ(preg) не соответствие ключу валидации
          • ‘cfg’ => array(); — Массив настроек формы.
            • ‘charset’ => ‘utf-8’ — кодировка
            • ‘subject’ => ‘Тема письма’, — Тема письма
            • ‘title’ => ‘Заголовок в теле письма’, — Заголовок в теле письма
            • ‘ajax’ => true, — это аякс форма TODO (если не нужно, поставить — false)
            • ‘validate’ => true, — (true) если хотим валидацию формы на сервере, заменяет js валидацию при ‘ajax’ => true. Когда выкл(false) то можно не задавать настройки validate полей. TODO
            • ‘from_email’ => ‘myemail’, — отправитель, указать имя поля(name=«myemail»), а если не нужно email от пользователя, тогда заглушку noreply@email.com
            • ‘from_name’ => ‘myname’, — отправитель, указать имя поля(name=«myname»), а если не нужно имени пользователя, тогда заглушку No-reply
            • ‘to_email’ => ‘noreply1@email.com’, — email получателя. Для отправки на несколько адресов перечислить их через запятую. Пример (‘to_email’ => ‘noreply1@email.com, noreply2@email.com, noreply3@email.com’,)
            • ‘to_name’ => ‘noreply1’, — Имя получателя. При отправке на несколько адресов через запятую перечислить имена получателей. Пример (‘to_name’ => ‘noreply1, noreply2, noreply3’,)
            • ‘geoip’ => true, — узнать местоположение по типу TODO
            • ‘referer’ => false, — добавлять URL страницы с которой была отправлена форма
            • ‘type’ => ‘plain’, — тип письма — plain, html (если используются html теги)
            • ‘tpl’ => false, — использовать шаблон письма. Если true, то будет подключен файл шаблона, в соответствии с именем формы (name=«form-1»), из папки и обработан файл (feedback/tpl/form-1.tpl), в противном случае будет отправлено все как есть, каждое поле с новой строки
            • ‘antispam’ => ’email77′, — Анти спам, метод основан на скрытом (display:none) поле, которое автоматом заполняет только робот, тем самым выдает себя.
            • ‘antispamjs’ => ‘address77’, — Анти спам, метод основан на скрытом (display:none) поле, изначально заполненное, которое автоматически очищает javascript при загрузке страницы, даже умный робот не может это предвидеть, и тогда он блокируется.
            • ‘okay’ => ‘Сообщение пользователю’, — Сообщение пользователю, выводится при условии успешно отправленной формы, можно использовать html теги.
            • ‘fuck’ => ‘Сообщение пользователю’, — Сообщение пользователю, выводится при возникновении ошибки отправки формы, можно использовать html теги.
            • ‘spam’ => ‘Сообщение пользователю’, — Сообщение пользователю, выводится при подозрении на спам робот, можно использовать html теги.
            • ‘notify’ => ‘color-modal’, — какой тип уведомлений показывать, textbox — блоки в верхнем углу страницы, color — цветная подсветка в форме, modal — модальное окно в центре страницы, none — отключить. Можно совмещать, пример: color-modal — ошибки заполнения подсветкой полей, а текстовый статус отправки в модальном окне TODO
            • ‘usepresuf’ => false — Используется ли кастомное добавление к теме либо к заголовку письма, на случай не большого изменения можно указать например %%cfg.title.suffix%%, для этого в форме должно быть скрытое поле, подробнее, см. ф-цю presuf()

Читайте также:  Почему пишет приложение не установлено на андроид

Настройка шаблонов писем

Итак. давайте теперь разберемся с темизацией наших сообщений.
Во-первых, для того, что-бы форма была отправлена в шаблоне, в настройках формы нужно включить использование файла шаблона — ‘tpl’ => true,
Во-вторых, нужно создать файл шаблона с расширением *.tpl в папке (feedback/tpl/), в соответствии с именем формы (name=«form-1»).

Пример: (feedback/tpl/form-1.tpl)

name, tell и т.д. — Это атрибуты (name=»») полей которые заполняет пользователь.
title — Название элемента формы, которое задается в массиве настроек элементов формы.
value — Значение элемента формы.

На сегодня пока все, но скрипт конечно же не идеален, так что комментарии и описания багов приветствуются и в следующих версиях будут исправлены.

Обновлено 12.12.2015 г.

Несмотря на то, что тема отправки почтовых сообщений прямо со страниц сайта уже достаточно избита, но судя по письмам, которые я получаю от посетителей своего сайта, делаю вывод, что у многих еще имеются пробелы знаний в этих вопросах.

Итак, в этом уроке мы научимся делать форму отправки почтовых сообщений со страниц сайта с проверкой на правильность ввода данных. Т.е. если какое то поле формы будет не заполнено, то скрипт выдаст ошибку и сообщит об этом посетителю. Пример работы такой формы Вы можете увидеть здесь. Если Вы заполните эту форму и нажмете кнопку: Отправить сообщение, то я получу Ваше послание.

Преимущество такой отправки сообщений очевидны:

1. Вам не нужно «светить в Интернете» свой почтовый адрес, а значит он не попадет к спамерам.

2. Если посетитель хочет задать Вам вопрос или что-то спросить ему не нужно, копировать адрес электронной почты, открывать свой почтовый клиент, писать сообщение и т.д. Посетитель быстро заполнит в форме нужные данные и отправит Вам сообщение.

3. При такой организации обратной связи с посетителями, вероятность доставки Вам сообщения почти 100%, особенно если почтовый адрес привязан к вашему домену. Ведь из длинной почтовой цепочки исключаются промежуточные узлы. А значит надежность доставки почты резко повышается.

Можно насчитать еще много плюсов, но давайте приступим к созданию такой формы.

Как создать форму отправки сообщений?

Как правило подобные скрипты состоят из двух частей и код расположен в двух разных файлах:

  • Первый файл — это сама форма, в которой заполняются данных сообщения.
  • Второй файл — это файл-обработчик, который получает данные из формы (первого файла) и отправляет по указанному в скрипте эл.адресу. Но работают эти части скрипта всегда обязательно в паре.

Читайте также:  Как поставить значок инстаграм

Первую часть скрипта мы выносим в отдельный файл и назовем его: mail.php. В этом файле будет располагаться форма ввода данных. Имя файла mail.php я взял условно, Вы можете назвать этот файл как угодно. Это файл может иметь и другое расширение, например .html .

Для обращения посетителей сайта к этому файлу, обычно делают простую ссылку: Написать автору сайта, Отправить сообщение или что нибудь в этом роде. Когда посетитель кликает по такой ссылке он попадает на отделную страницу с формой в которую нужно ввести данные (информацию) для отправки сообщения.

Итак, создаете новый файл, присвойте ему имя: mail.php или mail.html и вставляете в него код Листинга 1.

Листинг 1

Для отправки сообщения автору сайта используйте следующую форму:

Это самая простая форма, состоящая всего из 3-х полей для ввода данных. Эти поля я назвал: Ваше имя, Ваш e-mail, Ваше сообщение. При необходимости количество полей можно увеличить.

Первых два поля: Ваше имя, Ваш e-mail, описываются тегами:

но каждому из них присваивается свое имя, которое называетмя идентификатор: name=’name’ и name=’email’ соотвественно.

Третье поле для ввода сообщения описано тегами:

Данное поле имеет идентификатор: name=’mess’.

И естественно имеется две кнопки: Отправить сообщение и Очистить форму.

Данным (информации), которые посетитель заносит в форму, присваиваются соотвествующие идентификаторы: name, email и mess, запоминайте — это важно!

Для удобства оформления вся форма помещена в обычную таблицу, внешний вид, которой можно оформить с помощью таблиц стилей CSS, у меня это класс: class=»td_border», его я здесь не привожу, при необходимости допишите сами, на свой вкус.

Файл обработчик.

Вторая часть скрипта состоит из файла обработчика: mail2.php, в который методом POST передаются все данные с соответствующими идентификаторами: name, email и mess. Здесь эти данные помещаются в переменные: $name, $email, $mess.

Создаем файл mail2.php и прописываем в него код Листинга 2:

Листинг 2

if (isset ($email))
<
$email = substr($email,0,20); //Не может быть более 20 символов
if (empty($email))
<
echo » Не указан e-mail .

if (isset ($mess))
<
$mess = substr($mess,0,1000); //Не может быть более 1000 символов
if (empty($mess))
<
echo » Сообщение не написано .

$i = «не указано»;
if ($name == $i AND $email == $i AND $mess == $i)
<
echo «Внимание! Произошла ошибка! Вы не заполнили поля сообщения!»;
exit;
>

$to = » admin@luksweb.ru «;
$subject = » Сообщение с сайта LuksWeb.ru «;
$message = «Имя пославшего письмо: $name .
Электронный адрес: $email
Сообщение: $mess .
IP-адрес: $_SERVER[REMOTE_ADDR]»;
mail ($to,$subject,$message,»Content-type:text/plain; charset = windows-1251 «) or print «Не могу отправить письмо . «;
echo » Спасибо за отправку Вашего сообщения.

Для меня это очень важно!

В ближайшее время Вы обязательно получите ответ.»;
exit;
?>

В этом файле происходит проверка введенных посетителем сайта в форму данных, и последующая отправка сообщения по указанному адресу электронной почты.

При незаполненных полях или заполненных некорректно, скрипт вернет посетителю сообщение с указанием конкретной причины.

Обращаю Ваше внимание, что файл: mail2.php обязательно должен иметь расширение .php , т.к. отправка сообщения осуществляется с помощью функции mail PHP.

И естественно ваш Хостинг, должен поддерживать работу PHP. Это в основном касается бесплатных хостингов, хотя в последнее время даже на бесплатных Хостингах практически везде установлен PHP.

В коде Листинга 2 все просто, исправьте все значения, выделенные красным под свои требования, а именно:

  • пропишите свой адрес электронной почты, на который будут отправляться сообщения (переменная $to);
  • исправьте тему сообщения (переменная $subject);
  • обратите внимание на кодировку (charset = windows-1251). Кодировку пропишите ту, которая используется на вашем сайте. В русскоязычном интернете кодировка может быть: «utf-8» или «windows-1251». Если ошибетесь с кодировкой текст в письме будет отображаться неправильно (кракозябрами).
9726552