0

我已经制作了一个通过 php 注册的表单。该表单具有提交者电子邮件地址字段。我希望在表单提交后,表单内容将通过提交者电子邮件地址和管理员电子邮件地址发送给表单提交者和管理员。提交者电子邮件地址将从提交者电子邮件地址字段中获取。管理员电子邮件地址是固定的。对于 Submitter headers="from : no-reply@eschool.com" messagebody 与它相同

对于 admin headers=" from :$email" messagebody 与它相同

我试图这样做:

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>

动作.php

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

$password = $_POST['pass'];
$subject  = "Thank you for your registration.";
$admin    = "info@editor.com";

$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: no-reply@eschool.com ". "\n";

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

谢谢

4

2 回答 2

1

您的代码很完美,您面临的问题是什么,请写下您的问题。为方便起见,在 action.php 中进行以下更改:

<?php
   $name    = $_POST["name"];
   $address = $_POST["address"];
   $email   = $_POST["email"];
   $password = $_POST['pass'];
   $subject  = "Thank you for your registration.";
   $admin    = "info@editor.com";
   //$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: no-reply@eschool.com ". "\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.";
   }
?>   
于 2013-05-08T05:05:55.203 回答
0

您可以简单地制作两个不同版本的标头并执行mail(...)两次:

<?php

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

    $password = $_POST['pass'];
    $subject  = "Thank you for your registration.";
    $admin    = "info@editor.com";


    $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: no-reply@eschool.com\n";
    $admin_headers = $headers . "From: ".$email."\n";

    mail( $admin, $subject, $email_message, $admin_headers );
    mail( $email, $subject, $email_message, $poster_headers );
?>
于 2013-05-08T05:03:15.477 回答