При использовании php функции mail() не обязательно указывать хедер From, он и так автоматом подставляется, а вот если отправлять через phpmailer, то без указания $email - > From письмо не отправляется. Не указывать хедер From очень удобно, потому что при переносе с локального сервера на удаленный ничего не нужно менять. Как можно в phpmailer отправлять письмо без хедера From, чтобы он сам подставлялся? Код отправки письма:
$email = new PHPMailer();
$email->CharSet = 'UTF-8';
$email->From = 'example@mail.ru';
if (!empty($name)) {
$email->FromName = $name;
} else {
$email->FromName = 'Client';
}
$email->Subject = 'Новая заявка';
$email->Body = $msg;
$email->IsHTML(true);
$email->AddAddress('example@mail.ru');
if ($_FILES['file_attach']) {
$email->AddAttachment($_FILES['file_attach']['tmp_name'], $_FILES['file_attach']['name']);
}
if (!empty($_POST[$required_field])) {
// отправка сообщения
if ($email->Send()) {
$result = 1;
echo json_encode($result);
} else {
$result = 0;
echo json_encode($result);
}
} else {
$result = 0;
echo json_encode($result);
}
Буду благодарен за любую помощь
В целях безопасности емейл-домен во from должен совпадать с доменом отправителя. И у многих хостеров есть эта проверка. Иначе письмо не отправиться.
Поэтому правильнее будет не "не указывать", а подставлять домен, с которого отправляется. Как-то так:
$email->From = 'noreply@'.$_SERVER['HTTP_HOST'];
$email->Reply-to= 'mymail@gmailcom`;
А вообще для отправки из форм стоит использовать плагины. Хотя бы потому, что они проходят всестороннюю проверку и в случае чего - оперативно исправляются (имею ввиду плагины из оф.репо нормальных производителей)
см доп. https://ru.wordpress.org/support/topic/%d1%83%d1%8f%d0%b7%d0%b2%d0%b8%d0%bc%d0%be%d1%81%d1%82%d1%8c-php-mailer/page/2/
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники