2

ローカル開発環境で WAMP サーバーをセットアップしました (php_openssl 拡張機能が有効になっています)。Code Igniter をインストールし、GMail (実際には Google Apps) を使用してテスト メールを送信する TankAuth を構成しようとしました。

設定のために次の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'] = "mymail@youthpark.org";//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設定でも有効になっています

4

3 に答える 3

1

Tank Auth で _send_email 関数を編集しないでください。代わりに追加

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

「config」フォルダーの「email.php」ファイルに。

これは私のために働いた

于 2012-11-21T14:40:06.670 に答える
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'] = 'my.email.address@gmail.com'; 
    $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により、私は正しい道を歩み始めました。

于 2013-01-26T01:03:56.213 に答える
0

ログをチェックして、エラーがログに記録されているかどうかを確認しましたか?

私はすべてのメール配信を処理するために消印を使用します。無料の送信がいくつかあり、CI のスパークもあります。

新しいプロジェクトのセットアップ開始時に使用します。それをチェックしてください:

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

于 2012-10-25T21:56:33.350 に答える