2014-10-29 177 views
0

我真的很陌生。我正在處理我的投資組合。我爲「contact me」做了模態聯繫表單(bootstrap)。我沒有從我的Gmail郵件中獲取郵件。我使用PHP郵件和下面是我的PHP與文件名中的代碼接觸form.php的如何使用PHPmailer在gmail帳戶上獲取電子郵件

<?php 

// check for form submission - if it doesn't exist then send back to contact form** 
if (!isset($_POST['submit'])) { 

$message= 
    'Name: '.$_POST['name'].'<br /> 
    Email: '.$_POST['email'].'<br /> 
    Message: '.$_POST['contact-message']; 
require "phpmailer/class.phpmailer.php"; //include phpmailer class 

// Instantiate Class 
$mail = new PHPMailer(); 

// Set up SMTP 
$mail->IsSMTP(); // Set up SMTP connection 
$mail->SMTPAuth = true;  // Connection with SMTP does require authorization 
$mail->SMTPSecure = "ssl";  // Connect using a TLS connection 
$mail->Host ="smtp.gmail.com"; //Gmail SMTP address 
$mail->Port = 465; // Gmail SMTP port No idea what this is suppose to be 
$mail->Encoding ='7bit'; 

$mail->Username = "[email protected]"; // Gmail address 
$mail->Password ="Password"; // Gmail Password 

// Compose 
$mail->SetFrom($_POST['email'],$_POST['name']); 
$mail->AddReplyTo($_POST['email'],$_POST['name']); 
$mail->Subject = "Mail from Portfolio"; 
$mail->MsgHTML($message); 

//Send To 
$mail->AddAddress("[email protected]", "Recipient Name"); 
$result = $mail->Send(); 
$message = $result ? 'Successfully Sent!' : 'Sending Failed'; 
unset($mail); 

} 

我已經聯繫與接觸form.php的我所有的HTML頁面爲:

<form action="contactform.php" class="form-horizontal" method="post" enctype="text/plain"> 

當我點擊發送消息按鈕時,它引導我到contact-form.php,但沒有任何事情發生。

請大家幫幫我自從上週以來,我一直陷在這個問題上。

任何建議或幫助將非常可觀。

預先感謝您:) Tayyaba。

+0

你可以做一些調試輸出,以驗證在數據被傳輸到這種形式? – Bowdzone 2014-10-29 07:31:29

+0

正如我所說我是新來這個領域可以請你詳細說明你的問題?謝謝 – 2014-10-29 07:37:47

+0

我看過下面的視頻[link](http://www.youtube.com/watch?v=PUUMEUETCxw) – 2014-10-29 07:40:20

回答

0

我欣賞你的代碼中已經應用至今,因爲它是難以調試代碼,如果用靜態的方式測試你的代碼,它會更好, 我已經給下面的工作示例:

$email = new PHPMailer(); 
    $email->From  = '[email protected]'; 
    $email->FromName = 'Amrinder Singh'; 
    $email->Subject = 'Hello'; 
    $email->Body  = "How are you karan"; 
    $email->AddAddress('[email protected]'); 
    $email->AddAttachment('PATH_OF_YOUR_FILE_HERE' , 'NameOfFile.pdf'); //optional 
    return $email->Send(); 

我希望它能幫助你。請與它... 謝謝... :)

+0

謝謝你的回答。我已經應用了它,但它不適合我。可能是我錯過了一些東西。我需要在Gmail帳戶設置中添加POP服務器嗎? @ Insomnia – 2014-10-29 09:02:43

+1

@Synchro問題說「對Gmail賬戶」不是「通過Gmail賬戶」。再讀一遍。 – 2014-10-29 09:42:23

+0

OP的代碼通過和發送到Gmail賬戶。 – Synchro 2014-10-29 09:44:01

0

首先,我建議你再次使用a known-good example發送通過Gmail,並確保您使用最新的PHPMailer。至於你的腳本,這一行意味着你的郵件處理代碼只會在而不是提交時運行,並且由於這會導致發送錯誤,而你沒有顯示,所以你不會看到任何事情發生!

if (!isset($_POST['submit'])) { 

這應該是:

if (isset($_POST['submit'])) { 
+0

謝謝@Synchro我會處理你的建議並讓你知道。 – 2014-10-29 10:13:40

+0

我試過了你給的GitHUb解決方案。幸運的是它正在工作,但它給了我以下錯誤: **郵件無法發送。郵件錯誤:SMTP連接()失敗。** 這是什麼意思? – 2014-10-29 13:26:45

+0

您需要[閱讀文檔](https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting)。 – Synchro 2014-10-29 22:20:42

相關問題