Отправить форму PHP через SMTP - PullRequest
0 голосов
/ 29 января 2019

Я нашел несколько похожих вопросов в своем запросе, но ни один из них не полностью соответствовал моей ситуации.

У меня была базовая настройка mail () PHP для использования в контактной форме на моем веб-сайте, но, оказывается,на моем хост-сервере это заблокировано, чтобы избежать спама / злоупотреблений.

Веб-хостинг рекомендует использовать SMTP в качестве обходного пути, но учебник, на который они ссылаются, кажется, не дает мне работающего решения!

Это мой HTML:

<form action="php/mail.php" method="POST">
<p class="form-field-title">Name</p>
<input class="contact-field focus-hide" type="text" id="name" name="name" required autocomplete="off">
<p class="form-field-title">Email Address</p>
<input class="contact-field focus-hide" type="email" id="email" name="email" required autocomplete="off">
<p class="form-field-title">Phone</p>
<input class="contact-field focus-hide" type="text" id="number" name="number" autocomplete="off">
<p class="form-field-title">Message</p>
<textarea class="contact-field focus-hide" id="message" name="message" data-gramm_editor="false" required autocomplete="off"></textarea>
<input class="contact-button" type="submit" value="Send Message">
</form>

И это мой оригинальный (не SMTP) код mail.php:

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$number = $_POST['number'];
$message = $_POST['message'];

$formcontent="Name: $name \nEmail: $email \nPhone Number: $number     \nMessage: $message";
$recipient = "email@email.com";
$subject = "Website Contact Form Enquiry";
$mailheader = "From: $email \r\n";

mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");

header('Location: ../thanks.html');
exit();
?>

У меня есть данные сервера электронной почты для моей сетихостинг, но ни одно из найденных SMTP-решений не работает для меня!

Кто-нибудь может мне помочь?Я видел несколько вещей об использовании PEAR, но их веб-сайт, кажется, не работает ...?

Спасибо!

1 Ответ

0 голосов
/ 29 января 2019

Если ваша форма отправлена ​​по электронной почте, я думаю, что вы не можете публиковать данные (возможно, я ошибаюсь).Но вы можете отправить его в свой скрипт с помощью метода get.

<form action="php/mail.php" method="GET">
</form>

Затем обновите свой php:

<?php
$name = $_GET['name'];
$email = $_GET['email'];
$number = $_GET['number'];
$message = $_GET['message'];

$formcontent="Name: $name \nEmail: $email \nPhone Number: $number     \nMessage: $message";
$recipient = "email@email.com";
$subject = "Website Contact Form Enquiry";
$mailheader = "From: $email \r\n";

mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");

header('Location: ../thanks.html');
exit();
?>

Это должно сделать работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...