Секреты деловой email-переписки. Простейшая форма отправки данных на почту при помощи HTML и PHP Авторитетный отправить копию на мой e mail
И разрешения.
Вероятно, Вы уже обращали внимание, что при получении писем от некоторых авторов в разделе «кому» стоит список из нескольких десятков имейлов разных людей. Причем ни Вы, ни эти люди не давали своего согласия на то, чтобы эти имейлы были «засвечены». Естественно, кто-то из адресатов, отпишется от данной рассылки (нам всем надоел поток спама на наши почты). Но одно безусловно – все получатели отнесутся к автору рассылки, как к человеку непрофессиональному. И вряд ли согласятся принять его предложение.
Как же сделать так, чтобы не отправлять каждому адресату письмо отдельно и в то же время «не светить всех перед всеми»?
Практически любой почтовый сервис позволяет это сделать.
Рассмотрим эту возможность на примере самой популярной для деловых рассылок почте gmail.com
Обычно для отправки письма вы пользуетесь окном «Написать». Нажав на него, видите новое окно «Новое сообщение», в которое и вставляете все, что необходимо для создания и отправки самого письма.
В окно «Получатели» обычно вставляем имейлы наших адресатов.
Что делать, если их несколько? Когда вы вставляете курсор в это окно, то автоматически появляются еще две возможности: отправить копию и скрытую копию.
Копия означает «точная копия». Это поле используется, когда вы просто хотите отправить письмо кому-то, кто не является основным получателем.
Скрытая же копия означает «точная скрытая копия». Она работает так же, как и Копия, но в этом поле все адреса получателей скрыты.
Таким образом, использование этого поля – один из лучших способов отправить письмо большому количеству людей и соблюсти конфиденциальность. А значит, и не испортить отношение с ними. Используя эту возможность, можно вставить до 30 имейлов. А это значит, что одним нажатием кнопки вы можете отправить данное письмо сразу 30 адресатам, не показывая их имейлы.
А дальше в окне «Тема» нужно написать тему письма (1
). Она должна быть краткой, но при этом точно информировать получателя о сути сообщения.
В следующее окно вставляем текст самого письма (2
). Здесь его можно редактировать, производить форматирование, изменять шрифт, размер шрифта, вид, цвет, применять нумерованные или маркированные списки, выделять цитаты и так далее (3
).
И еще, при необходимости, можно вставить в тело письма картинку (4
) или прикрепить файл (5
).
Именно эта почта дает максимальное количество возможностей для редактирования.
Аналогично можно отправить одновременно нескольким адресатам письмо и на почте yandex.ru.
Только возможностей для редактирования текста письма на этой почте меньше. Поэтому я покажу только порядок действий, необходимых для отправки писем.
Нажимаете на «Написать» и далее в окне «Кому» (1
) вставляете имейл первого адресата, а затем выбираете функцию «Копия» (2
) или «Скрытая копия» (3
). В зависимости от того хотите ли вы, чтобы все получатели вашего письма увидели все имейлы или сохраняете их право на конфедициальность адресов, выбираете одну из функций. Чтобы добавить каждый следующий имейл в список, необходимо нажать на кнопку с изображением человечка с «плюсиком» перед ним (4
). Тогда из выпавшего списка можете выбрать своих постоянных адресатов или вписать их имейлы вручную.
А дальше, как обычно: пишите тему письма в окне «Тема» и вставляете текст самого письма.
Картинки можно загрузить с Яндекс Диска и файлы прикрепить тоже, как обычно.
Практически то же самое предлагает вам сервис mail.ru
Нажимаете на кнопку «Написать», появляется окно, в котором при нажатии мышкой в окне «Кому» (1
), появляется выпадающий список с перечнем ваших постоянных адресатов (2
). Можете выбрать из этого списка нужного. Или просто вставить желаемый имейл адресата вручную.
Если же необходимо данное письмо отправить сразу целой группе адресатов, то выбираете одну из двух функций: «Копия» или «Скрытая копия».
Для этого нажимаете на кнопку, стоящую в самом начале окна для имейлов получателей (1
) и в выпавшем списке (2
) выбираете желаемое (3
или 4
).
Эта почта позволяет прикреплять к письму файлы (1
) и редактировать текст самого письма (2
). Примерно в том же объеме, что и почта на yandex.ru.
Вот, пожалуй, и все, о чем я хотела вам рассказать сегодня.
Надеюсь, что эти небольшие фишки помогут вам не только экономить свое время, но и не нарушать конфиденциальность тех людей, которые доверили вам свои электронные адреса. Всегда думайте о безопасности тех людей, которые вам доверились. Будьте профессионалами!
А если Вы хотите получить еще больше полезностей и научиться не только создавать блог, но и заставить его зарабатывать, записывайтесь на наш бесплатный курс"Технология построения дохода в сети Интернет".
Просто впишите в форму под этой статьей Ваше имя и Ваш имейл и нажмите на кнопку"Хочу получить курс!"
Одной из самых востребованных функций на сайте является форма заявки или заказа, данные из которой отправляются на почту владельцу сайта. Как правило такие формы являются простыми и состоят из двух трех полей для ввода данных. Как же создать такую форму заказа? Здесь потребуется использование языка разметки HTML и языка программирования PHP.
Язык разметки HTML сам по себе несложен, нужно всего лишь разобраться в том как и где ставить те или иные теги. С языком программирования PHP все немного сложнее.
Для программиста создать такую форму не составит труда, а вот HTML верстальщику может показаться сложным некоторые действия.
Создаем форму отправки данных в html
Первая строка будет следующей
Теперь соберем все вместе.
Теперь сделаем так, чтобы поля в форме стали обязательными для заполнения. Имеем следующий код:
Создаем файл, принимающий данные из HTML формы
Это будет файл с именем send.php
В файле на первом этапе нужно принять данные из пост массива. Для этого создаем две переменные:
$fio = $_POST["fio"];
$email = $_POST["email"];
Перед названиями переменных в php ставится знак $, в конце каждой строки ставиться точка с запятой. $_POST это массив в который передаются данный из формы. В форме html при этом указан метод отправки method="post". Так, приняты две переменные из формы html. Для целей защиты своего сайта нужно провести эти переменные через несколько фильтров - функций php.
Первая функция преобразует все символы, которые пользователь попытается добавить в форму:
При этом новые переменные в php не создаются, а используются уже имеющиеся. Что сделает фильтр, он преобразует символ "<" в "<". Также он поступить с другими символами, встречающимися в html коде.
Вторая функция декодирует url, если пользователь попытается его добавить в форму.
$fio = urldecode($fio);
$email = urldecode($email);
Третей функцией мы удалим пробелы с начала и конца строки, если таковые имеются:
$fio = trim($fio);
$email = 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 = $_POST["fio"];
$email = $_POST["email"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = trim($fio);
$email = 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 = $_POST["fio"];
$email = $_POST["email"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = trim($fio);
$email = trim($email);
if (mail("[email protected]", "Заявка с сайта", "ФИО:".$fio.". E-mail: ".$email ,"From: [email protected] \r\n")){
echo "Сообщение успешно отправлено";
} else {
echo "При отправке сообщения возникли ошибки";
}
}
?>
Существование переменной в POST массиве мы проверяем PHP функцией isset(). Восклицательный знак перед этой функцией в условии означает отрицание. То есть, если переменной не существует, то нужно показать нашу форму. Если бы я не поставил восклицательный знак, то условие дословно означало бы - "если существует, то показать форму". А это неправильно в нашем случае. Естественно, что вы можете переименовать его в index.php. Если будуту переименовывать файл, то не забудьте переименовать название файла и в строке