У меня вопрос по поводу обработки PHP-форм. Я хочу взять данные в приведенной ниже форме и отправить их в мою учетную запись Gmail. У меня нет почтового сервера. Я уже обнаружил, что вы не можете сделать это с помощью функции почты PHP. Я сейчас пробую PHPmailer, но, похоже, он не дает правильных результатов, потому что кажется, что PHPmailer можно использовать только для заполнения формы и отправки ее человеку с вашим адресом Gmail. Я хочу что-то другое Я хочу, чтобы пользователь отправил мне письмо на мой адрес Gmail, используя форму ввода. Так что мне делать? настройте почтовый сервер с hmailserver и SquirrelMail или есть лучший способ.
<form id="form" action="PHPmail2.php" method="POST">
<input type="text" name="firstname"class="first" placeholder="first name"><font color="red">*</font>
<input type="text" name="lastname" class="first" placeholder="lastname"><font color="red">*</font>
<input type="email" name="email" class="first" placeholder="E-mail"><font color="red">*</font>
<br>
<input type="text" name="subject" class=" subject first" placeholder="subject">
<textarea type="text" class="textarea mail first" name="textarea" placeholder="fill somting in"></textarea>
<button type ="submit" id="submitbutton"name="submit">Send</button>
</form>
Код PHP:
<?php
if (isset($_POST['submit'])) {
if (!empty($firstname)) {
header('Location:index.php');
}else{
header('Location: filleErrorHandeling/nietAlleVeldenIngevuld.php');
}
if (!empty($lastname)) {
header('Location:index.php');
}else{
header('Location: filleErrorHandeling/nietAlleVeldenIngevuld.php');
}
if (!empty($from)) {
header('Location:index.php');
}else{
header('Location: filleErrorHandeling/nietAlleVeldenIngevuld.php');
}
}
добавление некоторого кода PHPmailer все, что мне нужно сделать, это связать действие формы с именем файла.
<?php
$to="*";
$from=$_POST['email'];
$firstname=$_POST['firstname'];
$lastname=$_POST['lastname'];
$subject=$_POST['subject'];
$msg=$_POST['textarea'];
$subject= "form submission";
$subject2="Copy of your form submission";
$message= $firstname. " ".$lastname. " Wrote the following: "."\n\n".$msg;
$message2= "Here is a copy of your message ". $firstname ."\n\n". $msg;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require ("composer/vendor/autoload.php");
$mail= new PHPMailer(true);
try{
$mail->IsSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Port =25;
$mail->Username =$to;
$mail->Password = '*';
$mail->setFrom($email);
$mail->addAddress($email);
$mail->Subject='*';
$mail->Body=$msg;
$mail->send();
}
catch(Exception $e){
echo $e->errorMessage();
}
catch(\Exception $e)
{
echo $e->getMessage();
}
?>
То, что я в основном хочу, - это когда пользователь нажимает на кнопку «Отправить», я хочу отправить электронное письмо на мою учетную запись Gmail со всеми входными данными, а лучше даже с их частью.
Спасибо, что прочитали мой пост, если есть какие-либо вопросы по этой теме, дайте мне знать.