2017-01-30 49 views
1

我的網站上有一個PHPMailer的問題。簡而言之,我希望有人想聯繫我,以便能夠通過我的網站上的聯繫表單向我發送電子郵件。說的代碼如下所示:PHPMailer不從HTML表單發送,返回空白頁

的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 = "[email protected]"; 
$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 = '[email protected]';    
$mail->Password = 'password';       
$mail->SMTPSecure = 'ssl';       
$mail->Port = 465; 

$mail->setFrom('[email protected]', 'Mailer'); 
$mail->addAddress('$to',); 
$mail->addReplyTo('$from', 'Mailer'); 

$mail->isHTML(true); 

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

及以下的所有內容說一個html節「謝謝你在上傳服務器上的所有文件後,填寫表單並點擊「發送」我所得到的只是一個白頁,沒有任何內容。我完全使用php的綠色,但我想要一個工作表上的我的投資組合網站。爲什麼它不起作用?

+0

郵件發送完成嗎? –

+0

不,火狐檢查員說錯誤500發生,但我不知道爲什麼。 – grhu

+0

我正在使用此配置 '$ mail-> Host ='smtp.gmail.com'; $ mail-> Port = 587; $ mail-> SMTPSecure ='tls'; $ mail-> SMTPAuth = true;' –

回答

0

轉出它是一個昏迷線太多:

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

刪除它解決了問題,現在它的

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

它的工作原理。

0

更改所有'$var_name'"$var_name",使PHP解析你的字符串....

例如,把這個:

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

分爲:

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

對不起,但我不理解 - 你在這兩個例子中都寫完全一樣的東西 – grhu

+0

單引號和雙引號之間有區別 – mrbm

+0

這並沒有幫助,而在PHPmailer中,所有內容都用單引號引起來。 – grhu