Задать вопрос
@punhin
Фанат it-технологий. Не волшебник, но учусь.

Как запрос POST при отправке формы на e-mail превращается в GET и что сделать, чтобы этого не было?

Добрый день, разбираюсь с вёрсткой форм, вычитал про то, что можно отправлять без использования скриптов, простой передачей информации почтовой программе. В html ввожу:
<form action="mailto:any@adress.net" method="post" enctype="text/plain">
    <p>Как вас зовут?<br><input name="cleint-name"></p>
    <p>По какому номеру телефона с вами можно связаться?<br><input name="cleint-phone-number"></p>
    <p><input type="submit"></p>
</form>

При попытке заполнить эту форму и нажатии на "отправить" открывается окно почтовой программы, поле "кому" задано верно, адрес взят из html-формы, тема - "отправка формы из Firefox", а вот в теле письма - пусто (ожидается - список заполненных полей и их значения).
Внезапно обнаруживаю, что при этом передаётся запрос GET, а не POST (статус 200, метод GET)... В книге, по которой разбираюсь с этой ситуацией, сказано, что при использовании метода GET ничего работать не будет. Ну, вот оно и не работает... Но почему запрос POST внезапно превратился в GET? И почему при этом информация всё же частично передаётся в почтовую программу? Как оно вообще работает?
Дополнительная информация: убунту-22.04, на борту есть веб-сервер апач (его остановка никак не повлияла на результат).
  • Вопрос задан
  • 72 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
action="mailto:any@adress.net"
https://htmlbook.ru/html/form/action
В данном случае никаких запросов не создаётся, а происходит по факту редирект на урл вида:
mailto:any@adress.net?subject=...&body=cleint-name...cleint-phone-number...

А дальше уже этот урл обрабатывается на уровне операционной системы. Для отправки же именно запроса следует использовать ссылку.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы