form.php Код (Text): <?php function randomKey($length = 12) { $chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $key = ''; for ($i = 0; $i < $length; $i++) { $key .= $chars[mt_rand(0, strlen($chars) - 1)]; } return $key; } echo randomKey(); $randomKey = randomKey(); ?> <!DOCTYPE html> <html> <head> <title>Send random key</title> </head> <body> <form action="send.php" method="post"> <input type="text" name="email" placeholder="email"> <input type="hidden" name="randomKey" value="<?php echo $randomKey; ?>"> <input type="submit" name="submit" value="Send"> </form> </body> </html> send.php Код (Text): <?php $to = $_POST['email']; $subject = "Random key"; $message = $_POST['randomKey']; $headers = "From: "; mail($to, $subject, $message, $headers);
100 тыщ причин может быть, и дело не только в коде потому-то стараются использовать готовые решения и библиотеки типа PHPMailer или Swift если это шаред хостинг - надо смотреть их правила, зачастую отправка возможно только с адреса почты на текущем домене сайта, итд итп
mail() – основной способ отправки, тем более с морды сайта. Если какой-то платный хостинг не поддерживает (даже после пинка), валите с него, он отстойный. Другое дело, что нужно норм. настраивать и письма корректные отправлять. --- Добавлено --- Sprinthost – норм. Имена их почтовых серверов *.from.sh заслуживают отдельного лайка
Скорее всего, нужно поменять хостинг - при условии, что вы проверили содержание писем, и с ними все в порядке.
Как ни странно подобная проблема есть на таймвэбе. При отправки писем на mail.ru не доходят, на остальные без проблем. Хостеры говорят заводить почту на хостинге а не пользоваться всеми принятыми.
Ловите https://seolik.ru/dkim --- Добавлено --- https://github.com/PHPMailer/PHPMailer/blob/master/examples/DKIM_sign.phps
Вполне может быть, что сами виноваты, а не хостер. О чем вы? Не понял. --- Добавлено --- Отправку нужно делать с ящика на своем домене. Без вариантов. Во From нужно указывать этот же ящик. Времена свободного обращения с заголовком From прошли. И это правильно.
--- Добавлено --- Я имею ввиду, что обычно все работает. Сайт на opencart 2.3. Письма админу все приходят а вот о заказе которые идут клиенту приходят всем кроме тех у кого на mail.ru. Надеюсь так понятно. Так вот хостеры говорят что нужно завести у них почту чтобы все приходило и отправлялось. Сейчас используется почта yandex.ru
Это я сразу понял. Вот это не понятно: Естественно, у хостера нужно завести почтовый домен и создать на нем ящик, с которого идет программная отправка. При этом можно иметь одноименный ящик у Яши для получения и даже отправки писем. В «антиспамных» настройках домена есть возможность указать два источника отправки (с сервера Яши и с почтового сервера хостера). --- Добавлено --- P.S. У нас тоже в основном ПС Яши используют и при этом все норм. отправляется с одноименных ящиков на своих почтовых серверах. Ящиков на своих серверах на самом деле обычно нет, но вам я советую сделать иначе, чтобы DKIM-подпись и прочая лабуда подхватывалась. --- Добавлено --- P.P.S. Естественно, речь о почте Яши на своих доменах. А то я знаю товарищей, которые, в том числе и в opencart'е, пихают в заголовок From (о том, что реальный адрес отправки по-любому другой, они даже не подозревают) адреса ящиков @gmail.com, @yandex.ru и т.п. и потом возмущаются, что у них проблемы с приемом таких писем