PHPMailer不从HTML表单发送,返回空白页面

时间:2017-01-30 17:10:10

标签: php html

我的网站上有PHPMailer的问题。简而言之,我希望有人愿意与我联系,以便能够通过我网站上的联系表格向我发送电子邮件。所述代码如下所示:

的index.html:

<form action="formularzeng.php" method="POST">
 <div class="form-group">
  <label for="InputEmail">E-mail address</label>
  <input type="email" class="form-control" id="InputEmail" placeholder="E-mail" name="email">
   </div>
    <div class="form-group">
    <label for="InputName">Full name</label>
    <input type="name" class="form-control" id="InputName" placeholder="Full name" name="name">
    </div>
    <div class="form-group">
    <label for="InputText">Message</label>
    <textarea id="InputText" class="form-control" rows="5" placeholder="Message" name="message"></textarea>
    </div>
    <input type="submit" class="btn btn-default" value="Send" name="submit">
</form>

并且formularzeng.php看起来像这样:

<!DOCTYPE html>
<?php 

$to = "example@gmail.com";
$from = $_POST['email'];
$name = $_POST['name'];
$subject = "Contact form";
$message = $name . " " . " wrote:" . "\n\n" . $_POST['message'];

require 'phpmailer/PHPMailerAutoload.php';

$mail = new PHPMailer;

$mail->isSMTP();                               
$mail->Host = 'smtp.gmail.com'; 
$mail->SMTPAuth = true;                           
$mail->Username = 'example@gmail.com';            
$mail->Password = 'password';                         
$mail->SMTPSecure = 'ssl';                           
$mail->Port = 465;

$mail->setFrom('example@gmail.com', 'Mailer');
$mail->addAddress('$to',); 
$mail->addReplyTo('$from', 'Mailer');

$mail->isHTML(true);

$mail->Subject = '$subject';
$mail->Body    = '$message';
$mail->AltBody = '$message';

下面的html部分,其中包含所有内容&#34;感谢您的留言。上传服务器上的所有文件后,填写表单并单击&#34;发送&#34;我得到的只是一个白页,没有任何内容。我用php完全是绿色的,但我想在我的投资组合网站上找到一份工作表格。为什么不起作用?

2 个答案:

答案 0 :(得分:0)

将所有'$var_name'更改为"$var_name"以使PHP解析您的字符串....

例如,转过来:

$mail->Subject = '$subject';
$mail->Body    = '$message';
$mail->AltBody = '$message';

进入:

$mail->Subject = "$subject";
$mail->Body    = "$message";
$mail->AltBody = "$message";

答案 1 :(得分:0)

事实证明,这是一个太多的昏迷:

$mail->addAddress('$to',);

删除它修复了问题,现在是

$mail->addAddress('$to');

它有效。