2012-10-25 162 views
2

我已經在本地開發環境(啓用了php_openssl擴展)上安裝了WAMP服務器。我安裝了Code Igniter並嘗試配置TankAuth,我想在其中使用GMail(實際上是Google Apps)發送測試郵件。CodeIgniter tankauth不能與GMail一起工作

我通過以下URL拍得配置

基於來自上述輸入,我更新罐的_send_email功能身份驗證如下

function _send_email($type, $email, &$data) 
{ 
    $this->load->library('email'); 

    $config['protocol'] = "smtp"; 
    $config['smtp_host'] = "ssl://smtp.googlemail.com"; 
    $config['smtp_port'] = "465"; 
    $config['smtp_user'] = "[email protected]";//also valid for Google Apps Accounts 
    $config['smtp_pass'] = "mypass"; 
    $config['charset'] = "utf-8"; 
    $config['mailtype'] = "html"; 
    $config['newline'] = "\r\n"; 

    $this->email->initialize($config); 

    $this->email->from($this->config->item('webmaster_email', 'tank_auth'), $this->config->item('website_name', 'tank_auth')); 
    $this->email->reply_to($this->config->item('webmaster_email', 'tank_auth'), $this->config->item('website_name', 'tank_auth')); 
    $this->email->to($email); 
    $this->email->subject(sprintf($this->lang->line('auth_subject_'.$type), $this->config->item('website_name', 'tank_auth'))); 
    $this->email->message($this->load->view('email/'.$type.'-html', $data, TRUE)); 
    $this->email->set_alt_message($this->load->view('email/'.$type.'-txt', $data, TRUE)); 
    //$this->email->send(); 

    if (! $this->email->send()) 
    { 
     show_error($this->email->print_debugger()); 
    } else { 
     //echo('DONE');   
    } 
} 

我收到消息mail sent..但實際上沒有發送郵件。有人可以指出我犯的錯誤嗎?

彈出在Gmail中也能設置

回答

0

你檢查日誌,以查看是否有錯誤ES loged?

我使用郵戳來處理所有的郵件投遞,他們有一些免費的發送,也有一個CI的火花。

我使用我的設置開始新項目。檢查:

https://github.com/ramirors/DD-Auth

+0

感謝您的回覆拉米羅。日誌文件中沒有顯示錯誤。作爲一個商業解決方案,郵戳不適合我的項目,因爲我正在開發開源項目。我正在嘗試auth庫,並且肯定也嘗試了DDAuth,但不是因爲我到目前爲止,無法配置TankAuth。 –

1

不要編輯在坦克驗證的_send_email功能。請在您的「config」文件夾中添加

$config['protocol'] = "smtp"; 
$config['smtp_host'] = "ssl://smtp.googlemail.com"; 
$config['smtp_port'] = "465"; 
$config['smtp_user'] = "[email protected]";//also valid for Google Apps Accounts 
$config['smtp_pass'] = "mypass"; 

到文件「email.php」。

這工作對我來說

0

我有同樣的問題。下面_send_email功能,具有去除/application/config/email.php一起工作對我來說:

function _send_email($type, $email, &$data) 
{  
    $config['protocol'] = 'smtp'; 
    $config['smtp_host'] = 'ssl://smtp.googlemail.com'; 
    $config['smtp_port'] = 465; 
    $config['smtp_user'] = '[email protected]'; 
    $config['smtp_pass'] = 'NiceTry'; 
    $config['mailtype'] = 'html'; 

    $this->load->library('email', $config); 

    $this->email->set_newline("\r\n"); 

    $this->email->from($this->config->item('webmaster_email', 'tank_auth'), $this->config->item('website_name', 'tank_auth')); 
    $this->email->reply_to($this->config->item('webmaster_email', 'tank_auth'), $this->config->item('website_name', 'tank_auth')); 
    $this->email->to($email); 
    $this->email->subject(sprintf($this->lang->line('auth_subject_'.$type), $this->config->item('website_name', 'tank_auth'))); 
    $this->email->message($this->load->view('email/'.$type.'-html', $data, TRUE)); 
    $this->email->set_alt_message($this->load->view('email/'.$type.'-txt', $data, TRUE)); 

    if ($this->email->send()) { 
     echo "Sent!"; 
    } else { 
     echo "FAILED"; 
    } 

} 

Tank Auth Email Problem讓我開始正確的道路。

相關問題