2013-05-08 119 views
0

我已经通过php注册了一个表单。表单有提交者的电子邮件地址字段。我希望表单提交后,表单内容将通过提交者的电子邮件地址和管理员电子邮件发送到表单提交者和管理员地址。提交者电子邮件地址将从提交者电子邮件地址字段中获取.Admin电子邮件地址已修复。 对于发布者 标题=“来自:[email protected]” 消息体一样,是表格提交和邮件发送

有关管理 头=“从:$电子邮件” 消息体一样,是

我试着要做到这一点:

HTML代码:

<form action="action.php" method="post"> 
    <table> 
     <tr> 
      <td>Name</td> 
      <td>:</td> 
      <td><input type="text" name="name" width="400" /></td> 
     </tr> 
     <tr> 
      <td>Address</td> 
      <td>:</td> 
      <td><input type="text" name="address" width="400" /></td> 
     </tr> 
     <tr> 
      <td>Email</td> 
      <td>:</td> 
      <td><input type="text" name="email" width="400" /></td> 
     </tr> 
     <tr> 
      <td>Password</td> 
      <td rowspan="2">&nbsp;</td> 
      <td> 
       <p><input type="text" name="pass" width="400" /></p> 
       <p>&nbsp;</p> 
      </td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td><input type="submit" name="insert" value="Insert" /></td> 
     </tr> 
    </table> 

    <input type="submit" value="submit" /> 
</form> 

action.php的

$name = $_POST["name"]; 
$address = $_POST["address"]; 
$email = $_POST["email"]; 

$password = $_POST['pass']; 
$subject = "Thank you for your registration."; 
$admin = "[email protected]"; 

$to = $email . "," . $admin; 

$email_message .= "Name: ". $name."\n"; 
$email_message .= "Address: ".$address."\n"; 
$email_message .= "Email: ".$email."\n"; 
$email_message .= "password: ".$password."\n"; 

$headers = "MIME-Version: 1.0" . "\n"; 
$headers .= "Content-type:text/plain;charset=UTF-8;" . "\n"; 
$headers .= "content-Transfer-encoding: 8bit" ."\n"; 
$headers .= "From: [email protected] ". "\n"; 

mail($to, $subject, $email_message, $headers); 

感谢

回答

0

你的代码是完美的,什么是你所面临的问题,PLZ写你的问题。 制作按照action.php的变化为您提供方便:

<?php 
    $name = $_POST["name"]; 
    $address = $_POST["address"]; 
    $email = $_POST["email"]; 
    $password = $_POST['pass']; 
    $subject = "Thank you for your registration."; 
    $admin = "[email protected]"; 
    //$to = $email $admin; 
    $email_message = ''; 

    $email_message .= "Name: ". $name."\n"; 

    $email_message .= "Address: ".$address."\n"; 

    $email_message .= "Email: ".$email."\n"; 

    $email_message .= "password: ".$password."\n"; 


    $headers1 = 'MIME-Version: 1.0' . "\r\n"; 
    $headers1 .= 'Content-type: text/plain; charset=UTF-8' . "\r\n"; 
    $headers1 .= "From: [email protected] ". "\n"; 

    $headers2 = 'MIME-Version: 1.0' . "\r\n"; 
    $headers2 .= 'Content-type: text/plain; charset=UTF-8' . "\r\n"; 
    $headers2 .= "From: ". $email . "\n"; 

    if(@mail($email, $subject, $email_message , $headers1)) { 
    @mail($admin, $subject, $email_message , $headers2)   
    echo "Mail Sent."; 
    } else { 
    echo "Mail Not Sent."; 
    } 
?> 
+0

的问题是:我想,如果一个提交表单,那么他/她将[email protected]接收电子邮件和管理员会收到电子邮件来自提交者电子邮件地址。 – ttA01 2013-05-08 05:26:37

+0

我上面的代码可以正常工作并解决您的问题。请投票它将解决您的问题。 – 2013-05-08 05:28:40

0

你可以简单地做两个不同版本的头文件和执行mail(...)两次:

<?php 

    $name = $_POST["name"]; 
    $address = $_POST["address"]; 
    $email = $_POST["email"]; 

    $password = $_POST['pass']; 
    $subject = "Thank you for your registration."; 
    $admin = "[email protected]"; 


    $email_message = "Name: ".$name."\n"; 
    $email_message .= "Address: ".$address."\n"; 
    $email_message .= "Email: ".$email."\n"; 
    $email_message .= "password: ".$password."\n"; 

    $headers = "MIME-Version: 1.0\n"; 
    $headers .= "Content-type:text/plain;charset=UTF-8;\n"; 
    $headers .= "content-Transfer-encoding: 8bit\n"; 

    $poster_headers = $headers . "From: [email protected]\n"; 
    $admin_headers = $headers . "From: ".$email."\n"; 

    mail($admin, $subject, $email_message, $admin_headers); 
    mail($email, $subject, $email_message, $poster_headers); 
?>