гм.Вы не используете ни одну из переменных, которые вы создали.Например, сначала вы говорите это:
$emailField = $_POST['email'];
И затем вы говорите это:
$headers = "From: $email\r\n";
Нет переменной с именем $email
.Один называется $emailField
, но вы этим не пользуетесь.Фактически, ВСЕ переменные из вашего $_POST
в конце переименовываются в «Поле», а затем вы пытаетесь обратиться к ним позже, без части «Поле».Не будет работать.
Кроме того, у вас есть уязвимость в этом коде.Посмотрите:
$headers = "From: $email\r\n";
Вы предполагаете, что $ email является хорошим безопасным значением.Предположим, кто-то заполняет вашу форму и сообщает, что его адрес электронной почты 0wned@example.com\r\nBcc: emai1@example.net, email2@example.org, etc...
, что заставляет ваш почтовый сервер отправлять сотни или тысячи электронных писем.
Спамер может сделать это ради рассылки спама -без необходимости поддерживать свой собственный почтовый сервер.
Скучающий и злонамеренный человек может сделать это просто ради того, чтобы увидеть, что ваш домен занесен в черный список как спамер.
Неэтичный корпоративный конкурент может сделать это длябросьте гаечный ключ в ваши процедуры заказа в надежде вытеснить вас из бизнеса.Я проклят с хорошим воображением ...
Сделайте себе одолжение и попробуйте это:
$email = str_replace( "\r\n", '', $_POST['email'] );
Это исключит любые потенциальные пары CR / LF, так что никто не сможет ввести ихсобственные заголовки в вашу электронную почту.