通过PHPMailer的联系表单发送电子邮件有问题


trouble sending emails via contact form with PHPMailer

我有一个麻烦发送电子邮件与PHPMailer类,在我提交了表单后,这条消息显示:"消息发送",但我没有收到任何电子邮件,我甚至检查了垃圾邮件文件夹和它的空。

下面是HTML表单代码:
<form action="<?php echo $PHP_SELF; ?>" method="post">
<input type="text" class="form-control" placeholder="Name" name="name">
<input type="email" class="form-control" placeholder="Email" name="email">
<input type="text" class="form-control" placeholder="Subject" name="subject">
<textarea class="form-control" placeholder="Message" rows="7" name="message">    </textarea>
<input type="submit" class="form-control" name="submit" value="submit">
</form>

, PHP代码为:

<?php
if(isset($_POST['email'])) {
     if(isset($_POST['subject'])){ $subject = $_POST['subject']; }
     if(isset($_POST['message'])){ $message = $_POST['message']; }
     if(isset($_POST['name'])){ $name = $_POST['name']; }
     if(isset($_POST['email'])){ $email = $_POST['email']; }
require_once('class.phpmailer.php');
$mail             = new PHPMailer(); 
$body             = $message;
$mail->SetFrom($email, $name);
$address = "example@domain.net";
$mail->AddAddress($address, "example@domain.net");
$mail->Subject    = $subject;
$mail->MsgHTML($body);
if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
}
}
?>

这是你的html代码

<form action="yourphpcode.php" method="post">
<input type="text" class="form-control" placeholder="Name" name="name">
<input type="email" class="form-control" placeholder="Email" name="email">
<input type="text" class="form-control" placeholder="Subject" name="subject">
<textarea class="form-control" placeholder="Message" rows="7" name="message">    </textarea>
<input type="submit" class="form-control" name="submit" value="submit">
</form>

这是你的php代码

<?php
if (isset($_POST['submit'])) {

    $subject = "subject : " . $_POST['subject'] . "<br>";
    $message = "message :" . $_POST['message'] . "<br>";
    $name    = "name :" . $_POST['name'] . "<br>";
    $email   = "email :" . $_POST['email'] . "<br>";
    $message = "
 'n $subject 'n 
 'n $message 'n  
 'n $name 'n 
 'n $email 'n 
";
    echo $message;
    include "PHPMailer_5.2.4/class.phpmailer.php";
    $mail = new PHPMailer;
    $mail->isSMTP();
    $mail->Host = 'smtp.gmail.com';
    $mail->SMTPAuth   = true;
    $mail->Username   = 'yourgmail@gmail.com';
    $mail->Password   = 'password';
    $mail->SMTPSecure = 'tls';
    $mail->Port       = 587;
    $mail->setFrom('someaddress@example.com', 'Mailer');
    $mail->addAddress('someaddress@example.com', 'Test Name');
    $mail->addAttachment('fileaddress');
    $mail->isHTML(true);
    $mail->Subject = $subject;
    $mail->Body    = $message;
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
    if (!$mail->Send()) {
        echo "Mailer Error: " . $mail->ErrorInfo;
    } else {
        echo "Message sent!";
    }
}
?>

试试这个工作很好…!!