在我看来,你能做的最好的事情就是用 PHP 创建一个简单的后端应用程序。
mail.php
在根目录中创建文件。
在您的 HTMLform
标记中,您需要添加带有文件action
路径和属性的属性,以便表单知道使用哪种 HTTP 请求方法来发送数据。这将添加触发“发送消息”按钮的操作,您说该按钮不起作用。mail.php
method
<form action="mail.php" method ="post">
发生这种情况是因为现在按钮知道如果您单击它会做什么。它从表单输入字段中获取所有数据并将它们发送到mail.php
文件。该文件需要获取它们并验证它们。(您至少应该为表单中的必填字段创建验证,以检查它们是否不为空。您可以在内置 html 属性中或借助 JavaScript 进行一些额外的验证)
现在最重要的是在您的mail.php
. 这是您执行此操作所需的所有文档:PHP 邮件文档。
这是代码(您的网站无法正常工作,所以我只是在输入字段中即兴创作):
HTML:
<form action="mail.php" method="post">
<label for="name-field">Name:</label>
<input id="name-field" name="name" type="text" required>
<label for="surname-field">Surname:</label>
<input id="surname-field" name="surname" type="text" required>
<label for="message-field">Message:</label>
<textarea id="message-field" name="message" required></textarea>
<label for="mail-field">Your e-mail:</label>
<input id="mail-field" name="mail" type="mail" required>
<button type="submit">Send Message</button>
</form>
PHP:
// Validating if everything is filled
if(isset($_POST['name']) && isset($_POST['surname']) && isset($_POST['message']) && isset($_POST['mail'])
{
$to = "example@mysite.com";
$subject = "Automatically generated messege from" . $_POST['name'] . ' ' . $_POST['surname'];
$body = $_POST['message'];
$headers = 'To: ' . $to . "\r\n";
$headers .= 'From: ' . $_POST['mail'];
// Send mail function
if(mail($to, $subject, $body, $headers))
{
echo 'Mail sent successfuly!';
} else {
echo 'Error occurred while sending the message';
}
}