В настоящее время я запускаю свой веб-сайт на локальном сервере через VisualStudio.
Я хочу, чтобы моя контактная форма HTML (написанная в файле index.html) отправляла почту, используя PHPMailer (записанный в contact-form-handler.php), когда нажата кнопка «ПОДПИСАТЬ» в моей HTML-форме.
Когда я нажимаю кнопку, меня выводят на страницу, на которой написано
«Эта страница не работает HTTP 405».
Может кто-нибудь объяснить мне, почему это происходит и как это исправить, пожалуйста.
index.html:
<form id="contact-form" method="post" action="">
<label for="name">NAME</label>
<input id="name" type="text" name="name" required>
<label for="mob">MOBILE NUMBER</label>
<input id="mob" type="text" name="mob" required>
<label for="email">EMAIL</label>
<input id="email" type="email" name="email" required>
<label for="message">MESSAGE</label>
<textarea id="message" type="text" name="message" required></textarea>
<input class="submit-button" type="submit" value="Submit" name="submit"/>
</form>
контакт-форма-handler.php:
<?php
if (isset($_POST['submit'])) {
require_once('PHPMailer/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->Host = 'smtp.gmail.com';
$mail->Port = '587';
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Username = 'myemailaddress@gmail.com';
$mail->Password = 'mypassword';
$mail->setFrom($_POST['email'], $_POST['name']);
$mail->addAddress= 'myemailaddress@gmail.com';
$mail->isHTML(true);
$mail->Subject = 'Test';
$mail->Body= '<h1> name:'.$_POST['name'].'<br> Email: '.$_POST['email'].'<br> Mobile: '.$_POST['mob'].'<br> message: '.$_POST['message'].'</h1>';
if(!$mail->send()){
$result="something went wrong. Please try again.";
}
else{
$result="Success!"
}
}
?>