Последнее время периодически стал сталкиваться с приходящими сообщениями а-ля такое-то сообщение от меня не было доставлено туда-то, в теле же письма напичкана какая-нибудь ересь с ссылками и тд. Все бы ничего, но я подобных сообщений туда-то не отправлял и содержание оных вижу впервые.
Что такое спуфинг и как он работает
Представленный ниже текст взят .
Если вы получили оповещение об ошибке при доставке сообщения, отправленного с вашего аккаунта, обнаружили в папке "Спам" сообщения, где вы указаны в качестве отправителя, или получили ответ на сообщение, которое не отправляли, вероятно, вы оказались жертвой спуфинга. Спуфингом называется подделка обратных адресов исходящей почты с целью сокрытия истинного происхождения сообщения.
При отправке сообщения по почте на конверте обычно указывается обратный адрес. Это позволяет получателю установить личность отправителя, а почте - при необходимости вернуть отправителю его письмо. Однако ничто не может помешать отправителю указать вместо своего адреса чужой. Это означает, что другой человек может отправить письмо и указать на конверте ваш адрес в качестве обратного. Электронная почта работает так же. Когда сервер отправляет сообщение электронной почты, он указывает отправителя, однако данные в поле отправителя можно подделать. Если кто-то подставил в сообщение ваш адрес, в случае неполадок при доставке это сообщение будет возвращено вам, даже если вы его не отправляли.
Если вы получили ответ на письмо, которое не было отправлено с вашего адреса, этому может быть две причины.
- Письмо было подделано, и ваш адрес был указан в качестве адреса отправителя.
- Настоящий отправитель указал ваш адрес в качестве обратного, поэтому вам отправляются все ответы.
Ни один из этих вариантов не означает, что к вашему аккаунту получило доступ постороннее лицо, но если вас беспокоит его безопасность, вы можете проверить список обращений к нему за последнее время. На странице входящих сообщений перейдите вниз и нажмите на ссылку Дополнительная информация рядом со строкой .
Послесловие
Так что не паникуем - просто злоумышленники в очередной раз пытаются всеми правдами и неправдами заманить нас по всяким левым ссылкам. Подобные письма, ясное дело, игнорируем и удаляем не переходя по ссылкам.
Про , к слову, забывать все равно никогда не надо.
PS: Предупреждая вопросы: на тему "дополнительной информации" и "последних действий в аккаунте" - актуально только для ящиков Gmail .
Если вы получили сообщение, существует несколько действий, которые можно выполнить с сообщений.
Чтобы ответить только отправителю, выберите ответ .
Чтобы ответить отправителю и всем остальным получателям в строках Кому и копия строк, выберите Ответить всем .
Чтобы отправить сообщение, чтобы кто-то не в поле Кому или копия строки, выделите вперед .
Ответ на сообщения и их пересылка - одна из наиболее частых задач в Microsoft Office Outlook 2007. В этом разделе содержатся основные сведения об ответах на сообщения и их пересылке. Справка по настройке сообщений, например по изменению фона или добавлению вложений, доступна в других разделах.
В этой статье
Ответ отправителю
Примечание:
Ответ отправителю и всем получателям сообщения
Вы можете ответить отправителю сообщения и всем пользователям, указанным в полях Кому и Копия .
Во многих случаях не требуется включать всех пользователей в ответ. Используйте функцию Ответить всем с осторожностью, особенно при наличии большого числа получателей или списков рассылки. Если необходимо написать только отправителю сообщения, рекомендуется использовать кнопку Ответить . Кроме того, вы можете удалить имена людей или списков рассылки, которым не нужно читать ответ.
Совет: Если вам требуется написать только одному из получателей, можно удалить других. Для этого щелкните имя получателя в поле Кому или Копия (при этом имя будет выделено) и нажмите клавишу DELETE.
Примечание: По умолчанию при ответе на сообщение электронной почты, исходное сообщение включается в теле сообщения. В разделе , чтобы изменить этот параметр.
Пересылка сообщения
Совет: Если вы хотите переслать несколько сообщений, выберите первое и, удерживая нажатой клавишу CTRL, выберите остальные сообщения, а затем нажмите кнопку Переслать . Все сообщения будут пересланы в виде вложений в новое сообщение.
Если сообщение выбрано, но не открыто в отдельном окне. На стандартной панели инструментов нажмите кнопку Переслать .
Если сообщение открыто. На вкладке Сообщение в группе Ответ нажмите кнопку Переслать .
На вкладке Параметры в группе Поля выберите пункт Отобразить поле "СК" .
Выполните одно из указанных ниже действий.
Создайте сообщение.
В поле Кому введите имена получателей.
Примечание: В полях Кому , Копия и СК должен быть указан по крайней мере один допустимый получатель электронной почты.
Чтобы выбрать имена адресатов из списка, нажмите кнопку Кому , Копия или СК .
Подробнее о полях Копия и СК
Копия : всем адресатам, указанным в этом поле сообщения Outlook, будет отправлена копия сообщения. При этом их имена будут видны всем остальным получателям данного сообщения.
СК : название этого поля - сокращение от словосочетания "скрытая копия". Всем адресатам, указанным в этом поле сообщения электронной почты, будет отправлена копия сообщения, но при этом их имена не будут видны другим получателям сообщения. Если при создании нового сообщения поле СК не отображается, его можно добавить.
Нажмите кнопку Отправить .
Отмена автоматического включения исходного сообщения
Устранение неполадок, при которых отсутствует кнопка "Отправить"
При отсутствии команды Отправить невозможно отправить сообщение. В этом разделе приведены сведения о поиске команды Отправить , указаны возможные причины ее отсутствия и перечислены действия для исправления этой проблемы.
Кнопка Отправить находится рядом с полями "Кому", "Копия" и "СК".
Если в Outlook 2007 не настроена учетная запись электронной почты, команда Отправить не отображается, а сообщения невозможно отправить.
В большинстве случаев Outlook 2007 используется с учетной записью электронной почты. Тем не менее существует ряд причин, по которым учетная запись электронной почты может не быть настроена:
Outlook 2007 настроен без поддержки электронной почты. В редких случаях Outlook 2007 может быть настроен для управления только контактами, задачами или календарями.
Настройка учетной записи электронной почты была прервана. При первом запуске Outlook 2007 настройка учетной записи не была завершена.
Файл конфигурации учетной записи поврежден. Повреждение файла конфигурации, который используется для хранения сведений конфигурации учетной записи электронной почты, может привести к тому, что ранее настроенная учетная запись электронной почты не будет отображаться.
Примечание: Вы можете открыть файл данных Outlook, который называется файл личных папок (PST), просмотреть полученные сообщения и открыть окно создания сообщения с помощью команд Создать , Ответить , Ответить всем или Переслать . Однако если не настроена ни одна учетная запись электронной почты, кнопка Отправить не будет отображаться.
Проверка наличия учетной записи
Прежде всего убедитесь в том, что учетная запись электронной почты настроена.
Если в списке Имя на вкладке Электронная почта отсутствуют записи, в профиле Outlook нет настроенных учетных записей электронной почты.
Дополнительные сведения о добавлении учетной записи электронной почты см. в статье
Одной из самых востребованных функций на сайте является форма заявки или заказа, данные из которой отправляются на почту владельцу сайта. Как правило такие формы являются простыми и состоят из двух трех полей для ввода данных. Как же создать такую форму заказа? Здесь потребуется использование языка разметки 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 $fio;
Вторая строка здесь нужна для того, чтобы разделить вывод переменных 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. Если будуту переименовывать файл, то не забудьте переименовать название файла и в строке