Есть форма, которая принимает имя пользователя (name=»name») и его телефон (name=»phone»).
Как сделать так, что бы при нажатии кнопки «отправить» эти данные отправлялись на мою почту? Подскажите, пожалуйста, самый простой код без лишних заморочек.
Хотя на большинстве правильно настроенных серверов эта дыра не отправится. 🙂
bruder
SeVlad, Какая дыра, если код отправляет форму лишь на вбитый в него емейл?
estic
bruder, существование «реальных» POST-параметров не проверяется.
И с кодированием символов у вас большие проблемы. Полностью отсутствует кодирование по стандарту. Также в тексте сообщения (третий параметр mail) вы часть данных преобразуете в Windows-кодировку, а часть нет. Получается смешение кодировок в одном тексте.
———- Добавлено 10.04.2020 в 09:58 ———-
В наше время нормально использовать такую отправку без какой-либо надежной защиты от автоспама невозможно.
Также ничего не сделано и не сказано, чтобы используемая вами почтовая служба не воспринимала ваше же письмо, как почтовый спам.
Sitealert
bruder: SeVlad, Какая дыра, если код отправляет форму лишь на вбитый в него емейл?
Потенциальная дыра там в необработанном $_POST. Надо отфильтровать небезопасные символы. Хотя это и просто часть сообщения, но мусору там делать нечего.
Но скорее всего, не отправится, а если отправится, то с большой вероятностью уйдёт в спам или не прочитается, потому как не хватает заголовков/параметров.
LEOnidUKG
Sitealert: Потенциальная дыра там в необработанном $_POST. Надо отфильтровать небезопасные символы. Хотя это и просто часть сообщения, но мусору там делать нечего.
Там же регуляркой проверяется всё. Хотя она уже не нужна т.к. давно есть filter_var(‘bob@example.com’, FILTER_VALIDATE_EMAIL)
Sitealert
LEOnidUKG: Там же регуляркой проверяется всё.
Нет, ничего не проверяется, кроме мэйла.
Хотя мало кто этим заморачивается.
suffix
Пусть опять напишут что я предлагаю из пушки по воробьям но таки правильнее через msmtp на MTA (допустим exim).
А нормально настроенный exim всё что надо проверит сам.
yaparoff
Есть форма, которая принимает имя пользователя (name=»name») и его телефон (name=»phone»).
Как сделать так, что бы при нажатии кнопки «отправить» эти данные отправлялись на мою почту? Подскажите, пожалуйста, самый простой код без лишних заморочек.
LEOnidUKG
Вот прям в интернете НЕТ ни одной простой формы?
https://www.google.ru/search?client=opera&q=PHP+как+отправить+форму+на+почту&sourceid=opera&ie=UTF-8&oe=UTF-8
bruder
url.php
SeVlad
Уже за это надо руки отбивать.
Хотя на большинстве правильно настроенных серверов эта дыра не отправится. 🙂
bruder
SeVlad, Какая дыра, если код отправляет форму лишь на вбитый в него емейл?
estic
bruder, существование «реальных» POST-параметров не проверяется.
И с кодированием символов у вас большие проблемы. Полностью отсутствует кодирование по стандарту. Также в тексте сообщения (третий параметр mail) вы часть данных преобразуете в Windows-кодировку, а часть нет. Получается смешение кодировок в одном тексте.
———- Добавлено 10.04.2020 в 09:58 ———-
В наше время нормально использовать такую отправку без какой-либо надежной защиты от автоспама невозможно.
Также ничего не сделано и не сказано, чтобы используемая вами почтовая служба не воспринимала ваше же письмо, как почтовый спам.
Sitealert
SeVlad, Какая дыра, если код отправляет форму лишь на вбитый в него емейл?
Потенциальная дыра там в необработанном $_POST. Надо отфильтровать небезопасные символы. Хотя это и просто часть сообщения, но мусору там делать нечего.
Но скорее всего, не отправится, а если отправится, то с большой вероятностью уйдёт в спам или не прочитается, потому как не хватает заголовков/параметров.
LEOnidUKG
Потенциальная дыра там в необработанном $_POST. Надо отфильтровать небезопасные символы. Хотя это и просто часть сообщения, но мусору там делать нечего.
Там же регуляркой проверяется всё. Хотя она уже не нужна т.к. давно есть filter_var(‘bob@example.com’, FILTER_VALIDATE_EMAIL)
Sitealert
Там же регуляркой проверяется всё.
Нет, ничего не проверяется, кроме мэйла.
Хотя мало кто этим заморачивается.
suffix
Пусть опять напишут что я предлагаю из пушки по воробьям но таки правильнее через msmtp на MTA (допустим exim).
А нормально настроенный exim всё что надо проверит сам.
saanvi
<FORM NAME=»form» METHOD=»post» ACTION=»mailto:your@adress.ru?subject=Hello world» ENCTYPE=»text/plain»>
…
</FORM>
🙂