如何在PHPmailer中显示邮件正文中的帖子变量

时间:2017-06-01 13:53:19

标签: post phpmailer

任何人都可以帮我将表单与PHPMailer集成。我有以下表格。

<form method="POST">
	<p>Name:<input type="text" name="name" size="30"></p>
<p>Email Address:<input type="text" name="email" size="30"></p>
<input type="submit" name="submit" value="Submit">
</form>
我只需要在接收邮件的正文中显示POST变量。我有很多搜索和参考,并在其中花费数小时,每个人都用高级解释澄清它。由于我不是程序员,任何人都可以解释我如何通过简单的解释来做到这一点。我刚刚完成了如下方法,但它没有用。

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

$mail->Body = "
    <html>
    <h2><b>".$name." ".$email."</b></h2>
    </html>";

当我尝试上述方法时,我在这行'$ name = $ _POST ['name'];'中收到错误。错误消息是:注意:未定义的索引:'我认为我的代码放置顺序错了。

提前致谢!

1 个答案:

答案 0 :(得分:1)

&#13;
&#13;
<?php
if(array_key_exists("name",$_POST) && $_POST["name"] != "" && array_key_exists("email",$_POST) && $_POST["email"] != ""){
    require 'mailer/PHPMailerAutoload.php';

    $mail = new PHPMailer;
    //$mail->SMTPDebug = 3;                               // Enable verbose debug output

    $mail->isSMTP();                                      // Set mailer to use SMTP
    $mail->Host = 'smtp.gmail.com';  // Specify main and backup SMTP servers
    $mail->SMTPAuth = true;                               // Enable SMTP authentication
    $mail->Username = 'mail@gmail.com';                 // SMTP username
    $mail->Password = 'mypassword';                           // SMTP password
    $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
    $mail->Port = 587;                                    // TCP port to connect to

    $mail->setFrom('mail@gmail.com', 'Manager');
    $mail->addAddress('mail@gmail.com', 'Administrator');     // Add a recipient


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

    $mail->Body = "<h2><b>".$name." ".$email."</b></h2>";
    if(!$mail->send()) {
        echo 'Message could not be sent.';
        echo 'Mailer Error: ' . $mail->ErrorInfo;
    } else {
        echo 'Message has been sent';
    }
} else {

?>

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <form method="POST">
            <p>Name:<input type="text" name="name" size="30" required></p>
            <p>Email Address:<input type="email" name="email" size="30" required></p>
            <input type="submit" name="submit" value="Submit">
        </form>
    </body>
    </html>
<?php
}
?>
&#13;
&#13;
&#13;