从联系人表单发送php电子邮件

从联系人表单发送php电子邮件,php,javascript,html,css,Php,Javascript,Html,Css,大家好,我是php的新手,正在学习本教程 我想知道在哪里我把我的电子邮件地址,以便用户可以发送电子邮件给我 提前谢谢 <?php function checkLen($str,$len=2) //&len definens the minimun length of the input fields { return isset($_POST[$str]) && mb_strlen(strip_tags($_POST[$str]),"utf-8") &

大家好,我是php的新手,正在学习本教程

我想知道在哪里我把我的电子邮件地址,以便用户可以发送电子邮件给我

提前谢谢

 <?php 
function checkLen($str,$len=2) //&len definens the minimun length of the input fields
{
    return isset($_POST[$str]) && mb_strlen(strip_tags($_POST[$str]),"utf-8") > $len;
}
function checkEmail($str)
{
    return preg_match("/^[\.A-z0-9_\-\+]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $str);
}
foreach($_POST as $k=>$v)
{
$_POST[$k]=stripslashes($_POST[$k]);

$_POST[$k]=htmlspecialchars(strip_tags($_POST[$k]));
}
//session names must be same with that in contact form      
session_name("tpot_contact");
@session_start();
if (isset($_POST['send'])){ 
$err = array();
if(!checkLen('name'))
    $err[]='The name field is too short or empty!';
if(!checkLen('email'))
    $err[]='The email field is too short or empty!';
else if(!checkEmail($_POST['email']))
    $err[]='Your email is not valid!';
if(!checkLen('subject'))
    $err[]='You have not selected a subject!';
if(!checkLen('message'))
    $err[]='The message field is too short or empty!';
if((int)$_POST['captcha'] != $_SESSION['expected'])
    $err[]='Wrong security code!';
if(count($err))
{
        $_SESSION['errStr'] = implode('<br />',$err);
        header('Location: '.$_SERVER['HTTP_REFERER']);
        exit();
    }
    //submission data
        $IP=$_SERVER['REMOTE_ADDR'];
        $name=$_POST['name'];
        $email=$_POST['email'];
        $date=(gmdate(" Y/m/d "));
         $time = date('H:i:s');  
        $message=$_POST['message'];
            $from="noreply@tutorialpot.com";
            $subject =  " from ".$_POST['name']." | contact form";
            $headers = "From: ".$from."\r\n";
            $headers .= "Reply-to: ".$from."\r\n";
            $headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
            //checks whether send to my email address is set
            if ($cc == 1) {
             $headers .= 'Cc:'. $_POST['email']."\r\n";
                          } 
        $msg =
          "<p><strong>Name: </strong>" .$name. "</p> 
          <p><strong>Email Address: </strong>" .$email. "</p> 
          <p><strong>Enquiry: </strong>" .$_POST['subject']. "</p> 
          <p><strong>Message: </strong>" .$message. "</p>
          <br/> <br/>
          <p>This message was sent from the IP Address:" .$ipaddress." on".$date. "at".$time."</p>";
             if(@mail($email, $subject, $msg, $headers))
             {
        $success=array();
        $success[]='Your message has been sent! | Thank you';
        $_SESSION['sent'] = implode('<br />',$success);
         header('Location: '.$_SERVER['HTTP_REFERER']);
         exit();
            }
    else{
    $err[]='your message could not be sent due to a network problem please try again.!';
    $_SESSION['errStr'] = implode('<br />',$err);
    header('Location: '.$_SERVER['HTTP_REFERER']);
    exit();
    }
}
?>

  <div class="fieldContainer"> 
    <label for="name" >*Name: </label>
    <input class="validate[required,minSize[3]] input1" id="name" name="name" type="text" autofocus="autofocus"  placeholder="NAME"/><br /><br />
    <label for="email">*Email</label>
    <input class="validate[required,custom[email]] input1" id="email" name="email" type="text"  placeholder="EMAIL"  /><br /><br />
      <label for="subect" >*Subject</label>
      <select  id="dropdown4" name="subject" class="validate[required] input1">
        <option  selected="selected" value="">--Choose--</option>
        <option value="Quote">Quote</option>
        <option value="Suggestion">Suggestion</option>
        <option value="Question">Question</option>
        <option value="Business Proposal">Business Proposal </option>
        <option value="Advertising">Advertising</option>
        <option value="Complaint">Complaint</option>
        <option value="Other">Other</option>
      </select><br /><br />
    <label for="message" >*Message</label>
    <textarea rows="10" cols="15" name="message" class="validate[required,minSize[3],maxSize[300]]  input1" id="message" placeholder=" MESSAGE CONTENTS"></textarea><br /><br />

      <legend>*Human Verification (HELP US FIGHT SPAM)</legend>
      <label for="captcha">25+9=</label>
    <input type="text" class="validate[required,custom[integer]] input1 " name="captcha" id="captcha" maxlength="2" placeholder="DO A LITTLE MATH" />
 <p> 
      <input type='checkbox' id='cc' name='cc' value='1'  />
      Send a copy to your email address
      </p>
  </div>
  <div class="signupButton">
 <input  name="send" type="submit" class="btnsubmit" id="btnsubmit" />
    <!--<input class="blackb" type="submit"  name="send"  id="submit"/>-->
  </div>

</form>

*姓名:


*电子邮件

*主题 --选择-- 引用 暗示 问题: 商业计划书 广告 抱怨 其他

*信息

*人工验证(帮助我们打击垃圾邮件) 25+9= 将副本发送到您的电子邮件地址


正是这个部分以邮件返回bool的形式发送消息。第一个参数是to地址(参见链接)

在本例中,电子邮件将转到用户输入的地址,如
$email
填充了已发布的值

$email=$_POST['email'];
但是你可以硬编码到你想要的任何东西

if(@mail('youremail@domain.com', $subject, $msg, $headers))

本教程似乎有一些错误(至少乍一看是这样)

它使用
$cc
,但是该变量没有在任何地方定义

它将消息发送到
$email
,但
$email=$\u POST['email']
(第42行),因此它将该电子邮件发送到表单(?)中提供的电子邮件地址。您要使用以下命令修复第62行:

if(@mail('yourem@il.com', $subject, $msg, $headers))
它也没有清理输入,因此您可以将标题插入电子邮件。更多解释


最后,如果CC功能得到了正确的实现(即定义了“
$CC
”),您将向发件人(CC)发送一份电子邮件副本,从而显示您的电子邮件地址(如果您想避免垃圾邮件,则不太好)。您应该向发件人发送一封单独的电子邮件。

对于电子邮件的实际发送,我建议您查看一下。此外,您在此行中声明变量:
$email=$\u POST['email']以便您也可以将其添加到那里。我是否只需将电子邮件更改为我的电子邮件地址$email=$\u POST['myemailaddress']@JeremyMiller他不应该这样做,因为
$email
会在邮件正文中告诉他发件人的电子邮件地址。他应该替换第62行
mail
函数中的变量。@MartinPalmer看一下我的最后一段代码。您只需在邮件功能中删除您的电子邮件即可。@MMM啊,打得好。你说得对。整个教程在我看来有点不可靠。马丁·帕默,你最好再找一个剧本。
if(@mail('yourem@il.com', $subject, $msg, $headers))