Php 联系人表单上“发件人”字段中的电子邮件地址未在电子邮件标题中显示为“发件人”;从「;

Php 联系人表单上“发件人”字段中的电子邮件地址未在电子邮件标题中显示为“发件人”;从「;,php,forms,field,Php,Forms,Field,iv在表单代码中添加了标题字段,但当我收到电子邮件时,电子邮件中的“发件人”字段显示的是一个乱码,而不是发送邮件的人的电子邮件地址。这是我的邮件处理代码: <?php session_start(); if(isset($_POST['Submit'])) { if( $_SESSION['chapcha_code'] == $_POST['chapcha_code'] && !empty($_SESSION['chapcha_code'] ) ) { $yourema

iv在表单代码中添加了标题字段,但当我收到电子邮件时,电子邮件中的“发件人”字段显示的是一个乱码,而不是发送邮件的人的电子邮件地址。这是我的邮件处理代码:

<?php session_start();
if(isset($_POST['Submit'])) {   if( $_SESSION['chapcha_code'] == $_POST['chapcha_code'] && !empty($_SESSION['chapcha_code'] ) ) {
$youremail = 'I removed my address for privacy on stack overflow';
$fromsubject = 'A message from your website';
$title = $_POST['title'];
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$mail = $_POST['mail'];
$address = $_POST['address']; 
$city = $_POST['city']; 
$zip = $_POST['zip']; 
$country = $_POST['country']; 
$phone = $_POST['phone']; 
$subject = $_POST['subject']; 
$message = $_POST['message']; 
$headers = "From: $nome <$mail>\r\n";

    $to = $youremail; 
    $mailsubject = 'Message received from'.$fromsubject.' Contact Page';
    $body = $fromsubject.'

    The person that contacted you is  '.$fname.' '.$lname.'
     Address: '.$address.'
    '.$city.', '.$zip.', '.$country.'
     Phone Number: '.$phone.'
     E-mail: '.$mail.'
     Subject: '.$subject.'

     Message: 
     '.$message.'

    |---------END MESSAGE----------|'; 
echo "Thank you for your feedback. I will contact you shortly if needed.<br/>Go to <a href='/index.php'>Home Page</a>"; 
                                mail($to, $subject, $body);
        unset($_SESSION['chapcha_code']);
   } else {
        echo 'Sorry, you have provided an invalid security code';
   }
 } else { 
echo "You must write a message. </br> Please go to <a href='/contact.php'>Contact Page</a>"; 
}
?> 

您没有在代码中的任何位置声明
$nome
,也没有在以下位置声明
$mail

$headers = "From: $nome <$mail>\r\n";
$headers=“From:$nome\r\n”;

除此之外,正如前面提到的,您没有将头传递到邮件函数中。请参见您在此处声明^From:header`的。

的第四个参数:

$headers = "From: $nome <$mail>\r\n";
您需要将
$headers
作为第四个参数传递。否则标题将不会生效

mail($to, $subject, $body, $headers);

mail($to、$subject、$body、$headers)你忘了添加标题?我不知道如何修复它。我对php迷路了,所以我来这里寻求帮助。你能告诉我如何正确地添加这个吗?
mail($to, $subject, $body, $headers);