Я никогда разработкой сайтов не занималась, но вот пришлось:) Сайт dona-tela.by Форма в самом низу. В приложении обработчик данных. Эта форма уже была встроена в шаблон. Но я пробовала и 2 другие, тоже не работали.
Привязываю доменную почту.
Писала на хостинг. вот что ответили:
Цитата
При отправке с помощью PHP функции mail() в качестве адреса отправителя указан адрес на домене, не совпадающем с доменом сайта.
Это именно ваш случай.
Почтовый сервер получателя отказывается принимать письмо, так как в заголовке FROM (адрес отправителя) в письме указан адрес "snsnsm@mail.ru";, хотя в действительности письмо отправляется не от mail.ru. В качестве адреса отправителя необходимо указывать адрес на домене, на котором размещен сайт, т.е. "dona-tela.by".
В заголовке письма FROM Вам необходимо всегда указывать адрес отправителя на домене dona-tela.by.
К сожалению, мы не можем Вам помочь в написании и отладке скриптов, размещаемых на сервере. Для этого Вам следует обращаться к разработчику сайта.
<?php
/* Задаем переменные */
$name = "Письмо Сайта";
$email = "info@dona-tela.by";
$tel = htmlspecialchars($_POST["tel"]);
$website = htmlspecialchars($_POST["website"]);
$message = htmlspecialchars($_POST["message"]);
$bezspama = htmlspecialchars($_POST["bezspama"]);
/* Ваш адрес и тема сообщения */
$address = "info@dona-tela.by";
$sub = "Сообщение с сайта ХХХ";
/* Формат письма */
$mes = "Сообщение с сайта dona-tela.by.\n
Имя отправителя: $name
Электронный адрес отправителя: $email
Телефон отправителя: $tel
Сайт отправителя: $website
Текст сообщения:
$message";
if (empty($bezspama)) /* Оценка поля bezspama - должно быть пустым*/
{
/* Отправляем сообщение, используя mail() функцию */
$from = "From: Письмо Сайта <info@dona-tela.by> \r\n Reply-To: info@dona-tela.by \r\n";
if (mail($address, $sub, $mes, $from)) {
header('Refresh: 5; URL=https://dona-tela.by');
echo '
Письмо отправлено, через 5 секунд вы вернетесь на сайт Dona-tela.by';}
else {
header('Refresh: 5; URL=https://dona-tela.by');
echo '
Письмо не отправлено, через 5 секунд вы вернетесь на сайт Dona-tela.by';}
}
exit; /* Выход без сообщения, если поле bezspama заполнено спам ботами */
?>
Что бы указать отправителя просто поменяйте
$name = htmlspecialchars($_POST["name"]);
$email = htmlspecialchars($_POST["email"]);
На свои данные, так как именно они именют отправителя в вашем коде
Например поставьте их
$name = "Письмо Сайта";
$email = "info@dona-tela.by";
А вот уже переменная $address содержит того кто примет письмо.
Менять переменные что бы приходило письмо с верными данными следует после
/* Формат письма */
$mes = "Сообщение с сайта dona-tela.by.\n
Имя отправителя: $name
Электронный адрес отправителя: $email
Телефон отправителя: $tel
Сайт отправителя: $website
Текст сообщения:
$message";
Или просто поменяйте строку
$from = "From: $name <$email> \r\n Reply-To: $email \r\n";
На
$from = "From: Письмо Сайта <info@dona-tela.by> \r\n Reply-To: info@dona-tela.by \r\n";
Вот такой функцией я отправляю письма на своих проектах
function send($to, $subj, $text, $from_name = null, $from_address = null, $encoding = 'UTF-8', $is_html = true) {
$mime = 'text/' . ($is_html ? 'html' : 'plain');
$from_name = empty($from_name) ? "Отправлено с Сайта" :$from_name;
$from_address = empty($from_address) ? "noreply@walfter.ru" : $from_address;
$headers = "From: {$from_name} <{$from_address}>\r\n"
. "Content-type: {$mime}; charset={$encoding}\r\n"
. "Mime-Version: 1.0\r\n";
$subj = '=?' . $encoding . '?B?' . base64_encode($subj) . '?=';
return mail($to, $subj, $text, $headers);
}
Попробуйте ей... Но по идее и ваши заголовки нормально подходили
<?php
/* Задаем переменные */
$name = htmlspecialchars($_POST["name"]);
$email = htmlspecialchars($_POST["email"]);
$tel = htmlspecialchars($_POST["tel"]);
$website = htmlspecialchars($_POST["website"]);
$message = htmlspecialchars($_POST["message"]);
$bezspama = htmlspecialchars($_POST["bezspama"]);
/* Ваш адрес и тема сообщения */
$address = "info@dona-tela.by";
$sub = "Сообщение с сайта ХХХ";
/* Формат письма */
$mes = "Сообщение с сайта dona-tela.by.\n
Имя отправителя: $name
Электронный адрес отправителя: $email
Телефон отправителя: $tel
Сайт отправителя: $website
Текст сообщения:
$message";
if (empty($bezspama)) /* Оценка поля bezspama - должно быть пустым*/
{
/* Отправляем сообщение, используя mail() функцию */
if (mail($address, $sub, $mes)) {
header('Refresh: 5; URL=https://dona-tela.by');
echo '
Письмо отправлено, через 5 секунд вы вернетесь на сайт Dona-tela.by';}
else {
header('Refresh: 5; URL=https://dona-tela.by');
echo '
Письмо не отправлено, через 5 секунд вы вернетесь на сайт Dona-tela.by';}
}
exit; /* Выход без сообщения, если поле bezspama заполнено спам ботами */
?>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Пытаюсь работать с платёжной системой liqpay, в апи настраиваются два url: result_url и server_urlПервый отправляет пользователя на эту страницу, если он перейдёт...
Мне нужно дать пользователю делиться абсолютно любым файлом, при этом при загрузке на сервер использовать минимум проверок
Использую Ratchet php, я пытался считать файл по байтам и отправить их, но что-то не очень это ворк, есть ли другие способы ?
Как можно перенести определенные(поле статус которых 1) записи из 2ой таблицы в первую и при этом вставить в 1 дополнительные значения, которых...