使用PHP发送电子邮件

使用PHP发送电子邮件,php,html,email,Php,Html,Email,我希望通过联系人表单将电子邮件发送到我的电子邮件地址。在表单上,客户将输入他们的姓名、电子邮件地址和消息。但是,当电子邮件发送到我的地址时,我只能看到用户的meessage。 如何使客户的姓名、电子邮件地址和消息显示在电子邮件中 if (empty($_POST) === false) { $errors = array(); $name = $_POST['name']; $email = $_POST['email']; $message

我希望通过联系人表单将电子邮件发送到我的电子邮件地址。在表单上,客户将输入他们的姓名、电子邮件地址和消息。但是,当电子邮件发送到我的地址时,我只能看到用户的meessage。 如何使客户的姓名、电子邮件地址和消息显示在电子邮件中

if (empty($_POST) === false)  {
    $errors = array();

    $name     = $_POST['name'];
    $email    = $_POST['email'];
    $message  = $_POST['message'];

    if (empty($name) === true || empty($email) === true || empty($message) === true)   {
        $errors [] = 'Name ,email and message are required !';
    } else {
        if (filter_var($email, FILTER_VALIDATE_EMAIL) === false)  {
            $errors[] = 'That\'s not a valid email address';
        }

        if (ctype_alpha ($name) === false) {
            $errors[] = 'Name must only contain Letters';
        }
    }
    if (empty($errors) === true) {
        mail('someone@hotmail.com', 'Contact form', $message,  'From: ' . $email);
        header('Location: index.php?sent');
        exit();
    }       
}

<!DOCTYPE html>
<html>
        <head>
                <title>A contact form</title>
        </head>
        <body>
            <?php
            if (isset($_GET['sent']) === true) {
                echo '<p>Thanks for Contacting us !</p>';
            } else {
                if (empty($errors) === false) {
                    echo '<ul>';
                    foreach ($errors as $error) {
                        echo '<li>', $error, '</li>' ;
                }
                echo'</ul>';
            }
            ?>  
            <form action="" method="post">          
                <p>
                    <label for="name">Name:</label><br>
                        <input type="text" name="name" id="name" <?php if (isset($_POST['name']) === true) {echo 'value="', strip_tags($_POST['name']), '"';  } ?>>
                        </p>
                        <p>
                            <label for="email">Email:</label><br>
                            <input type="text" name="email" id="email" <?php if (isset($_POST['email']) === true) {echo 'value="', strip_tags($_POST['email']), '"';  } ?>>
                        </p>
                        <p>
                            <label for="message">Message</label><br>
                            <textarea name="message" id="message"><?php if (isset($_POST['message']) === true) {echo strip_tags($_POST['message']);  } ?></textarea>
                        </p>
                        <p>
                            <input type="submit" value="Submit">
                        </p>
                     </form>
                <?php
                }
                ?>
        </body>
</html>
<?php

if (empty($_POST) === false)  {
$errors = array();

$name     = $_POST['name'];
$email    = $_POST['email'];
$message  = $_POST['message'];

if (empty($name) === true || empty($email) === true || empty($message) === true)   {
    $errors [] = 'Name ,email and message are required !';
} else {
    if (filter_var($email, FILTER_VALIDATE_EMAIL) === false)  {
        $errors[] = 'That\'s not a valid email address';
    }

    if (ctype_alpha ($name) === false) {
        $errors[] = 'Name must only contain Letters';
    }

}
if (empty($errors) === true) {

    $headers = 'From: ' . $name . ' <' . $email . '>';
    // Create the new message to send with the name and email.
    $newMessage = 'Name: ' . $name . '<br/>';
    $newMessage .= 'Email: ' . $email . '<br/>';
    $newMessage .= $message;

    mail('someone@hotmail.com', 'Contact form', $newMessage, $headers);

    header('Location: index.php?sent');
    exit();
}

}
?>
if(空($\u POST)==false){
$errors=array();
$name=$_POST['name'];
$email=$_POST['email'];
$message=$_POST['message'];
if(empty($name)==true | | empty($email)==true | | empty($message)==true){
$errors[]=“需要姓名、电子邮件和消息!”;
}否则{
if(filter\u var($email,filter\u VALIDATE\u email)==false){
$errors[]='这不是有效的电子邮件地址';
}
if(ctype_alpha($name)==false){
$errors[]=“名称必须仅包含字母”;
}
}
if(空($errors)==true){
邮件('someone@hotmail.com“,”联系方式“,$message”,“发件人:”。$email);
标题('Location:index.php?sent');
退出();
}       
}
联系方式

名称:
>

消息

您可以将消息参数编辑得更长,并包含更多信息。您甚至可以将其设置为html

i、 e。 第4节根据php手册:

:一个或多个邮件接收人

此字符串的格式必须符合»。一些 例如:


示例1:

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
<?php
mail("john doe <nobody@example.com>", "my subject", "my message")
?>
<?php
$to      = 'john doe <nobody@example.com>';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>


示例2:

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
<?php
mail("john doe <nobody@example.com>", "my subject", "my message")
?>
<?php
$to      = 'john doe <nobody@example.com>';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

只需在邮件中添加姓名和电子邮件即可。我们在PHP邮件中一直使用这种方法。请参阅下面的
$newMessage
变量。它包含的邮件的名称和电子邮件添加到它的顶部,以便于参考

如果将
$headers
变量创建为数组或字符串(取决于您将拥有的额外参数的数量),则更容易查看您正在执行的操作。我在这里的做法是,您将在电子邮件的“发件人”部分看到人员姓名

if (empty($_POST) === false)  {
    $errors = array();

    $name     = $_POST['name'];
    $email    = $_POST['email'];
    $message  = $_POST['message'];

    if (empty($name) === true || empty($email) === true || empty($message) === true)   {
        $errors [] = 'Name ,email and message are required !';
    } else {
        if (filter_var($email, FILTER_VALIDATE_EMAIL) === false)  {
            $errors[] = 'That\'s not a valid email address';
        }

        if (ctype_alpha ($name) === false) {
            $errors[] = 'Name must only contain Letters';
        }
    }
    if (empty($errors) === true) {
        mail('someone@hotmail.com', 'Contact form', $message,  'From: ' . $email);
        header('Location: index.php?sent');
        exit();
    }       
}

<!DOCTYPE html>
<html>
        <head>
                <title>A contact form</title>
        </head>
        <body>
            <?php
            if (isset($_GET['sent']) === true) {
                echo '<p>Thanks for Contacting us !</p>';
            } else {
                if (empty($errors) === false) {
                    echo '<ul>';
                    foreach ($errors as $error) {
                        echo '<li>', $error, '</li>' ;
                }
                echo'</ul>';
            }
            ?>  
            <form action="" method="post">          
                <p>
                    <label for="name">Name:</label><br>
                        <input type="text" name="name" id="name" <?php if (isset($_POST['name']) === true) {echo 'value="', strip_tags($_POST['name']), '"';  } ?>>
                        </p>
                        <p>
                            <label for="email">Email:</label><br>
                            <input type="text" name="email" id="email" <?php if (isset($_POST['email']) === true) {echo 'value="', strip_tags($_POST['email']), '"';  } ?>>
                        </p>
                        <p>
                            <label for="message">Message</label><br>
                            <textarea name="message" id="message"><?php if (isset($_POST['message']) === true) {echo strip_tags($_POST['message']);  } ?></textarea>
                        </p>
                        <p>
                            <input type="submit" value="Submit">
                        </p>
                     </form>
                <?php
                }
                ?>
        </body>
</html>
<?php

if (empty($_POST) === false)  {
$errors = array();

$name     = $_POST['name'];
$email    = $_POST['email'];
$message  = $_POST['message'];

if (empty($name) === true || empty($email) === true || empty($message) === true)   {
    $errors [] = 'Name ,email and message are required !';
} else {
    if (filter_var($email, FILTER_VALIDATE_EMAIL) === false)  {
        $errors[] = 'That\'s not a valid email address';
    }

    if (ctype_alpha ($name) === false) {
        $errors[] = 'Name must only contain Letters';
    }

}
if (empty($errors) === true) {

    $headers = 'From: ' . $name . ' <' . $email . '>';
    // Create the new message to send with the name and email.
    $newMessage = 'Name: ' . $name . '<br/>';
    $newMessage .= 'Email: ' . $email . '<br/>';
    $newMessage .= $message;

    mail('someone@hotmail.com', 'Contact form', $newMessage, $headers);

    header('Location: index.php?sent');
    exit();
}

}
?>


姓名、地址和信息应如何显示?比如“来自:彼得·帕克·彼得”-parker@gmail.com"? 请更具体地说明您想要实现的目标。正确地输入参数,并将其他值附加到$message字符串中。有关发送的信息,请参见阅读
mail()
文档开始-“如何使客户端名称、电子邮件地址和消息显示在电子邮件中?”。。。通过将客户的姓名和电子邮件地址附加到邮件中。