繁体   English   中英

未知的发件人或电子邮件标题中的其他电子邮件地址

[英]Unknown Sender or different email address in email header

我正在尝试设置一个新的联系表。 我能够正确接收电子邮件和消息,但回复显示为(未知发件人)或我的名称服务器上的用户名,例如:coggi132@rs14.websitehostserver.net。 我已经看了4个小时了,删除并添加了我在网上看到的不同网络内容。 如果我将电子邮件地址硬编码到mail(...“ $ visitor_email”)部分中,它将起作用。 谢谢

这是html:

<form id="form" action="../assets/form-to-email.php" method="post">
    <p><label class="required" for="namet">Name</label>(required)<br /><input name="name" id="name" type="text" required/>
<input type="text" style="display:none;" id="zip" name="zip" placeholder="Leave this field blank" autocomplete="off"></p>
    <p><label class="required" for="mailt">E-mail</label>(required)<br /><input name="email" id="email" type="text" required/></p>
    <p><label for="phone">Phone</label><br /><input name="phone" id="phone" type="text" required/></p>
    <p><label class="required" for="message">Message</label>(required)<br /><textarea name="message" id="message" required></textarea></p>
    <p><input class="btn_m" type="submit" name="submit" value="Submit Form" /></p>
</form>

这是PHP

<?php
/*
if(!isset($_POST['submit']))
{
//This page should not be accessed directly. Need to submit the form.
echo "error; you need to submit the form!";
}*/
$name = $_POST['name'];
$visitor_email = $_POST['email'];
$message = $_POST['message'];
$phone = $_POST['phone'];

$email_subject = "New Message From NovaWebDev.com Form";
$email_body = "You have received a new message from $name.\n
Phone Number: $phone \n
Here is the message: $message \n".

$to = "info@novawebdev.com";//<== Website's email address
$headers = "From: $visitor_email \r\n";
$headers .= "Reply-To: $visitor_email \r\n";
//Send the email!
mail($to,$email_subject,$email_body, $headers);
//done. redirect to success page.
header('Location: /index.php/shared/email_success');


// Function to validate against any email injection attempts
function IsInjected($str)
{
  $injections = array('(\n+)',
          '(\r+)',
          '(\t+)',
          '(%0A+)',
          '(%0D+)',
          '(%08+)',
          '(%09+)'
          );
  $inject = join('|', $injections);
  $inject = "/$inject/i";
  if(preg_match($inject,$str))
    {
    return true;
  }
  else
    {
    return false;
  }
}

?> 

用这个;

$headers = 'From: ' . $visitor_email . "\r\n";
$headers .= 'Reply-To: ' . $visitor_email . "\r\n";

我想通了。 我的电子邮件输入名为“ mail”,而我的php为“ email”。 感谢您的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM