我在用我的 VPS 服务器发送邮件时遇到了问题。我的服务器安装了 PHP 和 sendmail。
我尝试从 HTML 表单发送电子邮件,该表单在 JS 中检查然后以 HTML 发送,请求启动良好但未发送任何内容。
我的 JS 代码:
submitMail() {
const emailValue = document.getElementById('mail').value;
const subjectValue = document.getElementById('subject').value;
const messageValue = document.getElementById('text').value;
const xhr = new XMLHttpRequest();
xhr.open('POST', 'https://ag-dev.fr/mailform.php', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = () => {
if (xhr.readyState === 4 && xhr.status === 200) {
this.sendComplet();
}
};
xhr.send(JSON.stringify({
email: emailValue,
subject: subjectValue,
message: messageValue,
}));
},
我的 PHP 代码:
<?php
if (!empty($_POST['message']))
{
$to = 'contact@ag-dev.fr';
$from = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'] . "\n\n\n\n Ceci est un message envoyé depuis le formulaire de contact. Pour répondre à ce mail, envoyez un mail à l'adresse suivante : " . $_POST['email'];
$headers = 'MIME-Version: 1.0\r\n';
$headers .= 'Content-type: text/html; charset=iso-8859-1\r\n';
$headers .= 'To: Guyomar Alexis <contact@ag-dev.fr>\r\n';
$headers .= 'From: ' . ' <' . $from . '>\r\n';
mail($to,$subject,$message,$headers);
}
?>
我使用 sendmail 在我的命令行服务器上运行测试,我收到邮件没有问题。我认为我的代码或我的配置服务器有问题。
如果有人知道这可能来自哪里......
开满天机