Сергей Булгаков, Это все по тому что вы пропускаете часть работы, которая выполняется, и описываете только то что
по вашему мнению происходит. А код делает не то что вы подразумеваете. а то что реально пишете.
Ну грубо говоря, захожу на сайт, мне генерируется кука. Например, ее значение такое id_407-1640605007.
Проверяю в инспекторе (chrome dev tools, инструменты разработчика мозилла). Там, (мозилла - инструменты разработчика - "хранилище" - просмотр всех кук), показывается такая же кука.
Заполняю форму.
Отправляю.
До сих пор все правильно, а далее пропущен момент где в заголовке у вас
по новой генерируется кука, и из нее берется новое сгенерированное значение для письма, а значение которое вы отправляли через POST такое "Ну да, ну да, пошло я на**й...".
Смотрю почту.
Приходит письмо. Мои данные все такие, как в форме при заполнении.
Значение куки - совсем другое. Совсем.
Что логично, вы же ее не из формы взяли...
Не понимаю почему так.
По тому что важно проверять значения перед отправкой. Для этого и есть var_dump();