【发布时间】:2018-12-03 19:12:08
【问题描述】:
我正在尝试使用 fetch() 和 php 将消息发送到我的电子邮件。
处理事件
handleSubmit = (e) => {
e.preventDefault();
const data = { name: this.state.name, phone: this.state.phone };
fetch('/mail.php', {
method: 'POST',
body: data
}).then((response) => {
if (response.ok) {
this.setState({ success: true })
}
})
}
mail.php 代码
<?php
if ($_POST) {
$to = "mymail@gmail.com";
$subject = 'Subj';
$data = json_decode(file_get_contents('php://input'), true);
$message = 'Name: '.$data['name'].' Phone: '.$data['phone'];
$success = mail($to, $subject, $message);
if ($success) {
echo "Success!";
}
else {
echo "Fail";
}
}
?>
使用它是因为我之前在 ajax() 中使用过它并且它可以工作。
我在服务器上运行我的应用程序,调用处理程序并获得“ok”,但实际上我没有在我的电子邮件中收到消息。我是新手,如果实现将消息发送到邮件的方式错误,请见谅。我不知道什么数据正在获取 php 以及我错在哪里..
【问题讨论】:
-
您的服务器是否安装了邮件服务器
-
是的。我认同。我在简单的 html 页面中使用了几乎相同的 php 代码(但使用 ajax)。
标签: javascript php reactjs