2014-03-18 58 views
0

我試圖使用PHP郵件功能來允許一封電子郵件在用戶輸入郵件地址後發送給包含其密碼的用戶。我意識到安全性不是很好,因爲我通過電子郵件傳遞密碼,但我可以稍後再關注。現在,我只需要功能。看起來代碼正在工作,因爲我收到了我的成功信息,但我沒有收到任何電子郵件,有任何想法? 我使用的Joomla 3.0作爲XAMPP服務器解決方案包的一部分託管在Apache服務器上。我也將全局配置中的設置更改爲SMTP,因爲我在其他論壇上看到了這一點,但沒有運氣:(我想知道'本地主機'因素是否會導致問題?Joomla 3.0中的php郵件功能無法正常工作

我的表單操作代碼用戶輸入他們的電子郵件)是;

<?php 

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

    mysql_connect('localhost','root','') or die("Could not connect to database"); 
    mysql_select_db('joomla_lifestyle') or die("Could not select database"); 

    $email = $_POST['email']; 

    $sql = mysql_query("SELECT * FROM users WHERE Email ='$email'"); 
    $result = mysql_num_rows($sql); 

    if ($result == 1) 
    { 
     $rows = mysql_fetch_array($sql); 
     $password = $rows['Password']; 
     $email = $rows['Email']; 
    $subject = "Password Request"; 
    $header = "from: [email protected]"; 
    $body = "Your Password is " . $password; 

    mail($email, $subject, $header, $body); 
    $msg = "An Email Containing the Password has been Sent to you!"; 
    header("Location:/Joomla-Lifestyle/index.php?option=com_content&view=article&id=9&msg=$msg"); 
} else 
{ 
    $msg = "User doesn't exist, please try again."; 
    header("Location:/Joomla-Lifestyle/index.php?option=com_content&view=article&id=9&msg=$msg");  
} 

    } 
    ?> 
+0

好奇,有沒有理由不使用內置的新用戶電子郵件功能在註冊後發送用戶密碼? –

+0

是的,我意識到這個功能是可用的,但我正在根據我的代碼進行評分,所以工作必須是原創的。 – user3266484

回答

2

我覺得你的組合這需要兩個獨立的概念,就第一個是服務器發送電子郵件,它的配置,第二個是Joomla的後端設置。利用服務器發送電子郵件

使用PHP郵件將不會工作,除非運行PHP(XAMP在這個c ase)具有實現SMTP傳輸的有效手段。我總是將Joomla配置爲使用SMTP身份驗證來聯繫客戶端郵件服務器併發送電子郵件。

爲了您的本地開發環境,請使用或設置Gmail帳戶並使用以下設置在Joomla框架內發送電子郵件。

郵件:SMTP

從電子郵件:輸入你喜歡什麼

從名稱:輸入你喜歡什麼

Sendmail的路徑:留空

SMTP認證:是

SMTP安全:TLS

SMTP端口:587

SMTP用戶名:您的Gmail電子郵件地址

SMTP密碼:您的Gmail電子郵件密碼

SMTP主機:smtp.gmail .com