Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для svp
30 / 27 / 5
Регистрация: 13.10.2014
Сообщений: 171

Форма обратной связи (пересылка писем)

20.04.2017, 09:48. Показов 748. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день уважаемые специалисты.
Помогите исправить обработчик в форме обратной связи. К сожалению сам с РНР, мягко говоря, на Вы.
А проблема в следующем.
У нас только один почтовый ящик и в его настройках, на сервере хостинга, указана переадресация на почту Яндекса.
Но пересылается на Яндекс только примерно половина писем, остальные нет. Т.е. я ВСЕ входящие письма вижу в ящике на хостинге, а на почте Яндекса - только половину.

В службе поддержки хоста написали (вкратце):
ВСЕ письма поставлены в очередь почтовой службы Яндекс, однако по части из них получены отказы в доставке, поскольку форма обратной связи сайта установила в письме в качестве заголовка отправителя email посетителя сайта, например ниже "inek@flowers56.ru", "aj.sidorov@physics.msu.ru", или пустое.
Письмам с такими отправителями в заголовках письма, при отправке с любого, не только с нашего виртуального хостинга, будет отказано в доставке почтовой службой Яндекс для предотвращения спуфинга - подделки отправителя письма.
Рекомендую Вам пересмотреть исходный код формы обратной связи и изменить его таким образом, чтоб в качестве отправителя письма всегда устанавливался адрес info@fanatgusyatnik.ru (существующий на хостинге), а электронный адрес посетителя сайта добавлялся, например, в заголовок "Reply-to:".

Почтовый адрес на сайте info@fanatgusyatnik.ru. Пренаправлен на fanat1959@yandex.ru.
Пожалуйста поправьте (добавьте) в код обработчика по совету хостинга.
Файл обработчика прикрепил.
Если еще что-то нужно, то сообщите - выложу.

Добавлено через 6 минут
Не прикрепляется файл обработчика на php.
Выкладываю его здесь

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?php
 session_start();
 
function valid_in(&$p,&$arr)
{
 foreach($arr as $key => $val)
 {
  if(is_array($val))
  {
   valid_in($p[$key],$arr[$key]);
  }
  else
  {
   #$p[$key] = htmlspecialchars($val,ENT_QUOTES);
   $p[$key] = htmlspecialchars($val,ENT_QUOTES, 'cp1251', true);
  }
 }
}
 
 valid_in($p,$_POST);
 
 if ($p['keystring'] == $_SESSION['captcha_keystring'])
 {
  $mail_bond = "some_simple_yet_unique_boundary"; 
  $text_inputs = array (
                        "Name_user" => "От",
                        "E_mail" => "E-mail",
                        "Subject" => "Тема письма",
                        "Message" => "Текст письма"
                        ); 
  $mail_addr = array ("info@fanatgusyatnik.ru"); // сюда необходимо подставить СУЩЕСТВУЮЩИЙ на сервере email, с него будет рассылка
  // $key = "Subject";
 
  if((!isset($p["Subject"])) || ($p["Subject"] == ''))
  {
   #header ("Location: sm_success.htm");
   header ("Location: sm_failed.htm");
   exit();
  }
 
  $mail_subj = "Вопрос к Фанат Гусятник - ".$p["Subject"];
 
  $sender_mail = array ("E_mail" => "E-mail"); 
  foreach ($sender_mail as $key => $item)
   {
    if (isset($p[$key]) && chop($p[$key]))
     $send_mail.=$p[$key];
   }
 
  $mail_head = "From: <".$send_mail.">"."\n";
  $mail_head .= "Content-Type: multipart/mixed; boundary="".$mail_bond."""."\n";
  $mail_body = "--".$mail_bond."\n"."Content-Type: text/plain; charset=Windows-1251"."\n";
  $mail_body .= "Content-Transfer-Encoding: 8bit"."\n\n";
  $mail_body .= '== Новое письмо с сайта Фанат-Гусятник =='."\n";
  $mail_body .= '  '."\n";
     
  foreach ($text_inputs as $key => $item)
   {
    if (isset($p[$key]) && chop($p[$key]))
     $mail_body.=$item.': '.$p[$key]."\n";
   }
  $mail_body.="\n";
     
  foreach ($mail_addr as $item)
  {
   /* Функция mail возвращает BOOLEAN - true - отослали / false - не срослось */
   $res = mail($item,"=?KOI8-R?b?".base64_encode(convert_cyr_string($mail_subj,"w","k"))."?=",$mail_body,$mail_head);   
   if ($res)
    {
     header ("Location: sm_success.htm");
    }
   else
   {
    header ("Location: sm_failed.htm");
   }
  }
 }
 else { header ("Location: error_secr_code.htm"); }
 
 unset($_SESSION['captcha_keystring']);
?>
Пожалуйста выделите как-нибудь добавленное или измененное.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.04.2017, 09:48
Ответы с готовыми решениями:

Отправка писем через форму обратной связи
Доброго времени суток. Нашел такой скрипт html формы и php работы скрипта. При нажатии кнопки отправить он как я понимаю ссылается на php...

Как сделать чтоб форма обратной связи не отправляла письмо если форма не заполнена
Добрый день. Подскажите пожалуйста как сделать чтоб форма обратной связи не отправляла письмо если форма не заполнена.

Почему не срабатывает отправка писем в форме обратной связи для сайта?
Здравствуйте. Помогите пожалуйста разобраться где может быть &quot;загвоздка&quot; в проблеме не срабатывания формы обратной связи для сайта , с...

4
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
20.04.2017, 15:17
Все предельно четко написано:
Рекомендую Вам пересмотреть исходный код формы обратной связи и изменить его таким образом, чтоб в качестве отправителя письма всегда устанавливался адрес info@xxxxx.ru (существующий на хостинге), а электронный адрес посетителя сайта добавлялся, например, в заголовок "Reply-to:".
Ну вместо Reply-To можно в тело письма впихнуть адрес пользователя, если хотите.
0
 Аватар для svp
30 / 27 / 5
Регистрация: 13.10.2014
Сообщений: 171
20.04.2017, 16:52  [ТС]
Цитата Сообщение от miketomlin Посмотреть сообщение
Все предельно четко написано
Спасибо.
Но я не понимаю как это прописать.

Цитата Сообщение от miketomlin Посмотреть сообщение
Ну вместо Reply-To можно в тело письма впихнуть адрес пользователя, если хотите
Убедительная к Вам просьба.
Не могли бы Вы прописать эту часть кода в мой файл и желательны как-то выделить добавленное (измененное).
Все исходные данные есть в первом посту. Если надо еще что-то, то сообщите и я выложу.
Насчет "вместо Reply-To" - как посчитаете нужным
0
20.04.2017, 18:53

Не по теме:

Не убедили. Ищите исполнителя в соотв. разделе. Тут дел на 5 мин. Когда будете размещать объявление, не забудьте включить в него ссылку на данную тему.

0
 Аватар для svp
30 / 27 / 5
Регистрация: 13.10.2014
Сообщений: 171
20.04.2017, 19:03  [ТС]
Ну спасибо и на этом.
Мне уже написали решение (2 строчки) на другом форуме
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.04.2017, 19:03
Помогаю со студенческими работами здесь

форма обратной связи
Доброе утро. Есть демка с формой обратной связи для сайта. Подскажите где и что нужно подправить, что бы форма работала и письма...

Форма обратной связи
Помогите! Форма не отображается после того, как я впишу строчку die();, а если я её убираю, то при обновлении сайта приходит заново письмо!...

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

Форма обратной связи
ЧИстый шаблон, на css и html , вставил форму связи на php, не работает подскажите почему . http://seolproduct.ru/

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru