【问题标题】:PHP Email Sender: Full name telling "unknown sender"PHP电子邮件发件人:全名告诉“未知发件人”
【发布时间】:2013-05-23 00:24:37
【问题描述】:
if(empty($_POST)=== false){
    //send email

    $fullname = $_REQUEST['fullname'];
    $names = $_REQUEST["fullname"];
    $phonenumber = $_REQUEST['phonenumber'];
    $mobilenumber = $_REQUEST['mobilenumber'];
    $postcode = $_REQUEST['postcode'];
    $level = $_REQUEST['level'];
    $creditors = $_REQUEST['creditors'] ;
    $status = $_REQUEST['status'] ;
    $monthly = $_REQUEST['monthly'] ;
    $partner = $_REQUEST['partner'] ;
    $subject="The Debt Advice Service";
    $message = "Full Name: ".$fullname. " \n\n";
    $message .="Phone Number: ". $phonenumber."\n\n";
    $message .="Mobile Number: ".$mobilenumber."\n\n";
    $message .="Postcode: ".$postcode."\n\n";
    $message .="Level Of Debt: ".$level."\n\n";
    $message .="How many debts / creditors: ".$creditors."\n\n";
    $message .="Employment Status: ".$status."\n\n"; 
    $message .="Monthly Income (£): ".$monthly."\n\n"; 
    $message .="Partner's Income(£): ".$partner."\n\n"; 
    $headers = 'From: '.$names."\r\n".
    'X-Mailer: PHP/' . phpversion();

    //$name = $_REQUEST['fullname']; 
    //$headers = "From: $name";

     mail("mymail.com", $subject, $message, $headers);
     mail("mymail.com", $subject, $message,  $headers);
}

输出:

我在$header 遇到了一个问题,因为如果我输入一个单词的名字,这个名字是有效的,但是如果我输入一个全名,发件人会告诉“未知发件人”,请帮我解决我的问题。

【问题讨论】:

  • 尝试将您的表单和代码更改为$firstname = $_REQUEST['firstname'];$lastname = $_REQUEST["lastname"];,然后将$message = "Full Name: ".$fullname. " \n\n"; 更改为$message = "Full Name: " .$firstname $lastname. "\n\n";
  • 尝试将这个 $headers = 'From: '.$names."\r\n". 更改为 $headers = 'From: '.$fullname."\r\n". 看看现在能给你带来什么,直到我们弄清楚你到底哪里出错了。
  • 使用您的代码的COPY,尝试将所有$_REQUEST 实例更改为$_POST
  • 还是一样,我更改 $names = $_REQUEST["fullname"];进入 $names = $_POST["fullname"];但仍然很生气
  • 来自标头中的声明需要一个电子邮件地址,因此名称不起作用,空格可能会破坏它并且不会输出错误,但没有电子邮件地址会正确接受它。

标签: php email sendmail html-email


【解决方案1】:

首先填写所有内容,以便表单具有要为所有字段解析的数据。之后,您可以使用 JQuery 或第三方插件 (parsley.js) 进行数据验证,以进行所需的填充和格式化。通过这种方式,您的表单可以完美运行。

【讨论】:

    【解决方案2】:

    我解决这个问题的答案是你必须填写所有内容才能查看发件人的姓名

    【讨论】:

      猜你喜欢
      • 2012-12-07
      • 1970-01-01
      • 1970-01-01
      • 2013-06-29
      • 2013-03-03
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 2015-08-25
      相关资源
      最近更新 更多