【问题标题】:php mail function from email address shows mail server address来自电子邮件地址的php邮件功能显示邮件服务器地址
【发布时间】:2014-11-11 20:54:16
【问题描述】:

以下是我从表单发送预订的代码。一切都按照表格发送,但在我的收件箱 FROM 部分中,它显示邮件服务器地址而不是显示发件人电子邮件地址。

<?php 
  if(isset($_POST['rsubmit'])){ 
      //echo "samir karmachary"; 
      $fname=$_POST['fname']; 
      $remail=$_POST['remail']; 
      $rphone=$_POST['rphone']; 
      $pick_up_date=$_POST['pick_up_date']; 
      $pick_up_time=$_POST['pick_hour'].":".$_POST['pick_min']."".$_POST['pick_ampm']; 
      $taxitype=$_POST['taxitype']; 
      $ploc=$_POST['ploc']; 
      $dloc=$_POST['dloc']; 
      $passangerno=$_POST['passangerno']; 
      $luggageno=$_POST['luggageno']; 
      $comment=$_POST['comment']; 
      $payment_type=$_POST['payment_type']; 
      $to='example@address.com'; 
      // subject 
      $subject = 'Reservation detail convenience'; 
      // message 
      $message = ' <html> <head> <title>Reservation Detail Convenience</title> </head>     <body> <table width=100% cellpadding="4" cellspacing="4"> <tr><td width="30%" >Name :</td><td>'.$fname.'</td></tr> <tr><td>Email :</td><td>'.$remail.'</td></tr> <tr> <td>Phone :</td><td>'.$rphone.'</td></tr> <tr><td>Pick up Date:</td><td>'.$pick_up_date.'</td></tr> <tr><td>Pick up Time:</td><td>'.$pick_up_time.'</td></tr> <tr><td>Taxi Type:</td><td>'.$taxitype.'</td></tr> <tr><td>Pick Up location:</td><td>'.$ploc.'</td></tr> <tr><td>Drop Of Location:</td><td>'.$dloc.'</td></tr> <tr><td>Passanger No:</td><td>'.$passangerno.'</td></tr> <tr><td>Luggage No:</td><td>'.$luggageno.'</td></tr> <tr><td>Comment:</td><td>'.$comment.'</td></tr> <tr><td>Payment:</td><td>'.$payment_type.'</td></tr> </table> </body> </html> '; 
      // To send HTML mail, the Content-type header must be set 
      $headers = 'MIME-Version: 1.0' . "\r\n"; 
      $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
      // Additional headers 
      $headers .= 'From: Convernience<Convernience>' . "\r\n"; 
      if(mail($to, $subject, $message, $headers)){ 
          $to=$remail; mail($to, $subject, $message, $headers); 
          echo "<script type='text/javascript'>alert('Reservation successfully');</script>"; 
      }else{ 
          echo "<script type='text/javascript'>alert('Sorry please try again');</script>"; 
      } 
  }
?>

【问题讨论】:

  • $headers .= 'From: Convernience&lt;Convernience&gt;' . "\r\n"; 这是设置发件人地址的内容,这是您需要更改的内容
  • 我应该使用 $headers .='From: $remail' 。"\r\n; 代替吗?

标签: php email


【解决方案1】:

这是正常的。这实际上取决于您托管的 Web 服务器和您使用的电子邮件服务。研究您使用邮件功能的主机。发生这种情况很可能是因为您假装从填写您网站上的表格的人那里发送消息,而邮件服务器将其检测为欺诈......我猜......当我遇到同样的问题并四处寻找时。

希望这对您有所帮助。

【讨论】:

  • 能否详细说明一下。我的服务器是 bluehost 经销商服务器,我遇到了与您提到的完全相同的问题。
  • 我也使用 bluehost。我想这会对你有所帮助link
  • 感谢您提供的链接,它真的很有帮助。我使用了 bluehost 服务器不允许的“发件人:Convernience”。所以根据链接我把它改成了“新的在线预订”。
【解决方案2】:

我相信 from: 部分必须符合 RFC 2822(电子邮件地址格式)。看这里: http://php.net/manual/en/function.mail.php

【讨论】:

    猜你喜欢
    • 2015-04-24
    • 1970-01-01
    • 2013-01-09
    • 2011-07-05
    • 2014-04-30
    • 2017-08-29
    • 2017-07-23
    • 2011-04-22
    • 1970-01-01
    相关资源
    最近更新 更多