【问题标题】:Simple mail send with fetch js and php使用 fetch js 和 php 发送简单的邮件
【发布时间】: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


【解决方案1】:

现在可以了。 刚刚在处理程序中添加了 JSON.stringify()。

const data = JSON.stringify({ name: this.state.name, phone: this.state.phone });

if (isset($_POST)) 在 mail.php 中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-06
    • 2015-06-24
    • 2013-03-14
    • 2012-10-11
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多