我有一个麻烦发送电子邮件与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!";
}
}
?>
试试这个工作很好…!!