formmail.php

来自「Hippo CMS是一个以信息为中心的开源内容管理系统。Hippo CMS目标是」· PHP 代码 · 共 96 行

PHP
96
字号
<?php  $send_to      = 'Website Enquiries <enquiries@' . preg_replace('/^www./', '', $_SERVER['HTTP_HOST']) . '>';  $emailfield   = NULL;  $subjectfield = NULL;  $namefield    = NULL;  $when_done_goto    = isset($_REQUEST['when_done_goto']) ? $_REQUEST['when_done_goto'] : NULL;  if($_POST)  {    unset($_POST['when_done_goto']);    $message    = '';    $longestKey = 0;    foreach(array_keys($_POST) as $key)    {      $longestKey = max(strlen($key), $longestKey);    }    $longestKey = max($longestKey, 15);    foreach($_POST as $Var => $Val)    {      if(!$emailfield)      {        if(preg_match('/(^|\s)e-?mail(\s|$)/i', $Var))        {          $emailfield = $Var;        }      }      if(!$subjectfield)      {        if(preg_match('/(^|\s)subject(\s|$)/i', $Var))        {          $subjectfield = $Var;        }      }      if(!$namefield)      {        if(preg_match('/(^|\s)from(\s|$)/i', $Var) || preg_match('/(^|\s)name(\s|$)/i', $Var))        {          $namefield = $Var;        }      }      if(is_array($Val))      {        $Val = implode(', ', $Val);      }      $message .= $Var;      if(strlen($Var) < $longestKey)      {        $message .= str_repeat('.', $longestKey - strlen($Var));      }      $message .= ':';      if((64 - max(strlen($Var), $longestKey) < strlen($Val)) || preg_match('/\r?\n/', $Val))      {        $message .= "\r\n  ";        $message .= preg_replace('/\r?\n/', "\r\n  ", wordwrap($Val, 62));      }      else      {        $message .= ' ' . $Val . "\r\n";      }    }    $subject = $subjectfield ? $_POST[$subjectfield] : 'Enquiry';    $email   = $emailfield   ? $_POST[$emailfield]   :  $send_to;    if($namefield)    {      $from = $_POST[$namefield] . ' <' . $email . '>';    }    else    {      $from = 'Website Visitor' . ' <' . $email . '>';    }    mail($send_to, $subject, $message, "From: $from");    if(!$when_done_goto)    {      ?>      <html><head><title>Message Sent</title></head><body><h1>Message Sent</h1></body></html>      <?php    }    else    {      header("location: $when_done_goto");      exit;    }  }?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?