javascript - HTML 联系页面未发送电子邮件
问题描述
你好,我最近一直在为我的 html 网站建立一个联系页面,它似乎根本没有将我的消息发送到我的电子邮件!
我也有点困惑,为什么它不发送消息,并且默认错误不会弹出“需要填写”。
这是我的 PHP 代码(发送消息):
<?php
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$phone = htmlspecialchars($_POST['phone']);
$website = htmlspecialchars($_POST['website']);
$message = htmlspecialchars($_POST['message']);
if(!empty($email) && !empty($message)){
if(filter_var($email, FILTER_VALIDATE_EMAIL)){
$receiver = "MYEMAILHERE";
$subject = "From: $name <$email>";
$body = "Name: $name\nEmail: $email\nPhone: $phone\nWebsite: $website\n\nMessage:\n$message\n\nRegards,\n$name";
$sender = "From: $email";
if(mail($receiver, $subject, $body, $sender)){
echo "Your message has been sent";
}else{
echo "Sorry, failed to send your message!";
}
}else{
echo "Enter a valid email address!";
}
}else{
echo "Email and message field is required!";
}
?>
这是我的 JS 代码(创建消息):
const form = document.querySelector("form"),
statusTxt = form.querySelector(".button-area span");
form.onsubmit = (e)=>{
e.preventDefault();
statusTxt.style.color = "#0D6EFD";
statusTxt.style.display = "block";
statusTxt.innerText = "Sending your message...";
form.classList.add("disabled");
let xhr = new XMLHttpRequest();
xhr.open("POST", "src/php/message.php", true);
xhr.onload = ()=>{
if(xhr.readyState == 4 && xhr.status == 200){
let response = xhr.response;
if(response.indexOf("required") != -1 || response.indexOf("valid") != -1 || response.indexOf("failed") != -1){
statusTxt.style.color = "red";
}else{
form.reset();
setTimeout(()=>{
statusTxt.style.display = "none";
}, 3000);
}
statusTxt.innerText = response;
form.classList.remove("disabled");
}
}
let formData = new FormData(form);
xhr.send(formData);
}
这是我的正文结束之前的 HTML 代码(链接 js):
<script src="src/js/contact.js"></script>
有什么我想念的吗?会不会链接不正确?我也使用在线网站而不是本地发送此内容。
解决方案
使用不支持 PHP 的 Githubpages。那就是问题所在。
推荐阅读
- android - InputField 中的长字符串在存储时被剪切
- powershell - PowerShell 压缩消息字符串输出
- java - 将 JTextPane 字符串添加到 JComboBox
- animation - 是否可以在 .jpg 中“隐藏”一个 .gif?
- c++ - Q 矩阵单元之间的最短路径
- sql - 选择列表中带有函数调用的 ORDER BY 子句的性能问题
- python - OpenCV - 检测颜色范围并在控制台上显示
- python - 在python中将参数从一个类带到另一个类
- django - 如何在 Django 我们应用程序中为 mongoDB 连接配置 settings.py
- asp.net-core - 如何防止通过 IHttpClientFactory 的 HttpClient 登录到 ILogger?