使用php将html中的答案格式转换为电子邮件

使用php将html中的答案格式转换为电子邮件,php,html,Php,Html,我无法让php运行。它不会向我的帐户发送任何电子邮件 我是学习php的新手。我对html和css有基本的了解。我不知道如何完成这个。我试着复制别人的代码,并使之适应我的 php代码: <?php if(isset($_POST['submit'])){ $name=$_POST['name']; $email=$_POST['email']; //send mail $to='dadjus555@gmail.com'; $subject='New '; $body='<html&

我无法让php运行。它不会向我的帐户发送任何电子邮件

我是学习php的新手。我对html和css有基本的了解。我不知道如何完成这个。我试着复制别人的代码,并使之适应我的

php代码:

<?php
if(isset($_POST['submit'])){
$name=$_POST['name'];
$email=$_POST['email'];

//send mail 
$to='dadjus555@gmail.com';
$subject='New ';
$body='<html>
<body>
<h3>Feedback</h3>
<hr>

<p> Name : '.$name.'</p>
<br>
<p> Job : '.$job.'</p>
<br>
<p> Co : '.$co'</p>
<br>
<p> Phone : '.$phone.'</p>
<br>
<p> Email : '.$email.'</p> 
<br>
<p> Snapchat : '.$snap.'</p>
<br>
<p> Instagram : '.$insta.'</p>
<br>
<p> Facebook : '.$facebook.'</p>
<br>
<p> Twitter : '.$twitter.'</p>
<br>
</body>
</html>';

$headers  ="From:".$name."<".$email.">\r\n";
$headers .="reply-To:".$email."\r\n";
$headers .="NINE-Version: 1.0\r\n";
$headers .="Content-type: text/html; charset=utf-8";

//sending process
$send=mail($to, $subject, $body, $headers);
$confirm=mail($user, $usersubject, $userheaders,$usermessage );

if($send && $confirm){
echo "success";
}

else{
echo "Failed";
}

}
?>

Html代码:

<form>
<fieldset><legend>Personal</legend>
<label for="field1"><span>Name <span class="required">*</span></span><input 
type="text" class="input-field" name="name" value="" /></label>
<label for="field1"><span>Occupation</span></span><input type="text" 
class="input-field" name="job" value="" /></label>
<label for="field1"><span>what company?</span></span><input type="text" 
class="input-field" name="co" value="" /></label>
<label for="field1"><span>Phone <span class="required">*</span></span><input 
type="text" class="input-field" name="phone" value="" /></label>
<label for="field2"><span>Email <span class="required">*</span></span><input 
type="email" class="input-field" name="email" value="" /></label>
<label for="field1"><span>Snapchat </span></span><input type="text" 
class="input-field" name="snap" value="" /></label>
<label for="field1"><span>Instagram </span></span><input type="text" 
class="input-field" name="insta" value="" /></label>
<label for="field1"><span>Facebook </span></span><input type="text" 
class="input-field" name="facebook" value="" /></label>
<label for="field1"><span>Twitter </span></span><input type="text" 
class="input-field" name="twitter" value="" /></label>
<label for="field3"><span>Kik</span></span><input type="text" class="input- 
field" name="kik" value="" /></label>
</label>
</fieldset>
</form>

个人的
名字*
职业
什么公司?
电话*
电子邮件*
阅后即焚
一款图片分享应用
脸谱网
啁啾
基克

当有人在表单中输入文本并按下提交按钮时,信息将通过电子邮件发送到我的收件箱

您无法发送/接收邮件,因为您有一些错误:

  • 标题是错误的
  • 您的邮件功能被错误地调用
  • 您的代码中没有包含一些变量,只有在尝试发送邮件时才调用这些变量
  • 在这里您可以看到我的更改:

    $headers  = "From: $name <$email>\r\n";
    $headers .= "Reply-To: $name <$email>\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=utf-8";
    
    // sending process
    $send = mail($to, $subject, $body, $headers);
    $confirm = mail($user, $usersubject, $usermessage, $userheaders);
    
    if ($send && $confirm) {
      echo "success";
    } else {
      echo "Failed";
    }
    
    而应该是:

    mail($user, $usersubject, $usermessage, $userheaders);
    
    因此,您无法检查并从php获得正确的响应

    我建议把两个邮件电话分开

    if ($send) {
      echo "1st mail sent with success";
    } else {
      echo "1st mail is failed";
    }
    
    if ($confirm) {
      echo "2nd mail sent with success";
    } else {
      echo "2nd mail is failed";
    }
    

    我希望这能有所帮助。

    您的表单正在通过GET发送,但您的代码正在检查POST。将
    method=“POST”
    添加到表单元素。请阅读您的日志。如果您正在运行本地LAMP堆栈,您的php邮件服务器可能未设置。很明显,form me,您的代码有多个错误……您是否解决了问题?
    if ($send) {
      echo "1st mail sent with success";
    } else {
      echo "1st mail is failed";
    }
    
    if ($confirm) {
      echo "2nd mail sent with success";
    } else {
      echo "2nd mail is failed";
    }