簡體   English   中英

使用提取js和php發送的簡單郵件

[英]Simple mail send with fetch js and php

我正在嘗試使用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()中使用過它並且它可以工作。

我正在服務器上運行我的應用程序,調用處理程序並獲得“確定”,但實際上我沒有在電子郵件中收到消息。 我是新手,對於通過郵件發送郵件的錯誤方式,我們深表歉意。 我無法知道什么數據正在獲取php以及我哪里出錯了。

現在可以了。 剛剛在處理程序中添加了JSON.stringify()。

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM