Вот мой обновленный код, пытаясь получить мою форму, чтобы отправить мне электронное письмо. Я добавил серверные запросы php вокруг формы, хотя код, похоже, не читает их. Мой код отображается как текст на сайте после нажатия на тест. Я помню один раз, я назвал php в голове от разметки формы, но не могу вспомнить этот синтаксис.
Вот код, который я пытаюсь использовать:
<?php if ($_POST["email"]<>'') { $ToEmail = 'chaseoutt@gmail.com'; $EmailSubject = 'Site contact form '; $mailheader = "From: ".$_POST["email"]."\r\n"; $mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; $mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n"; $MESSAGE_BODY = "Name: ".$_POST["name"]."<br>"; $MESSAGE_BODY .= "Email: ".$_POST["email"]."<br>"; $MESSAGE_BODY .= "URL: ".$_POST["url"]."<br>"; $MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"])."<br>"; mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); ?> Your message was sent <?php } else { ?> <p style="font-style:italic; font-size:12px; font-weigh: normal; margin-top: -89px; margin-left: 33px;">Contact me written in a different language.</p> <img src="http://img.ruphp.com/php/pointing-left.png" style="float: right; margin-right: 140px; margin-top: -89px;"> <div class="form-div"> <form id="fvujq-form1" style="font-size:22px; color:#333;" method="post" action=""> <div class="form-row"><span class="label">Name *</span><input type="text" name="name" /></div> <div class="form-row"><span class="label">Email *</span><input type="text" name="email" /></div> <div class="form-row"><span class="label">URL</span><input type="text" name="url" /></div> <div class="form-row"><span class="label">Comment *</span><textarea name="comment"></textarea></div> <div class="form-row"><input class="submit" type="submit" value="Submit"></div> </form> </div> <?php }; ?>
У меня ошибка?
Электронная почта не отправляется кодом JavaScript на клиенте; он отправляется с сервера. Когда пользователь нажимает «Отправить», и все проверки на стороне клиента прошли, данные формы отправляются на сервер. Атрибут «действие» элемента формы указывает, какой URL-адрес на сервере должен получать данные формы POST; т.е. что-то вроде action = "send_email.php" или что-то в этом роде.
Как фактически создается электронная почта, на сервере полностью зависит от используемой серверной технологии, например, PHP или JSP, или что-то еще.
Итак, в вашем коде две вещи отсутствуют:
И добавить к ответу @ smendola …
После того, как вы отсортировали отправку по электронной почте на стороне сервера, вы все равно не сможете получить письмо, которое вы ожидаете. Некоторые почтовые узлы (на самом деле довольно многие) проверяют достоверность подписей отправляющего сервера. Если это не удается (т. Е. Нет подписи или только самоподписанных подписей), узел электронной почты может отклонить письмо как спам.
Один из способов избежать этого – отправить данные формы через SMTP, а не в собственную функцию send () PHP. Самое простое решение – PHPMAILER . Например, вы можете отправить материал через учетную запись Gmail .