2014-12-22 4 views
0

Я использую Tank Auth с codeigniter для проверки электронной почты пользователя при регистрации. После регистрации он показывает «Зарегистрировано успешно. Проверьте свой электронный адрес активации». Но я не получаю никакой активации электронной почты.Codeigniter Tank Auth не отправляет активацию Email

Настройки, которые я использую в Application/конфигурации/email.php заключаются в следующем: функция почты

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

Это используемый по умолчанию TankAuth в контроллере:

function _send_email($type, $email, &$data) 
    { 
     $this->load->library('email'); 
     $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(); 
    } 

мне нужно сделать что-нибудь Do еще? Поскольку я не получаю никаких электронных писем активации, используя эти настройки.

Заранее спасибо.

+0

Вы, наверное, не нужно SSL: // в переменная smtp_host, так как это протокол, не являющийся частью имени хоста. – Joe

+0

@Joe Изменено. По-прежнему получать сообщение «Новое письмо активации было отправлено на адрес [email protected] Следуйте инструкциям в письме, чтобы активировать свою учетную запись». Но не почта в INbox. –

+0

Я не использую Google Apps для электронной почты, вам нужно установить что-нибудь там, чтобы вы могли отправлять электронную почту с помощью своего SMTP-сервера? Похоже, ваше приложение считает, что сообщение отправляется. Я бы также написал быстрый метод проверки того, что вы можете отправлять электронные письма с использованием этих учетных данных и выгружать результат на экран. – Joe

ответ

0

Попробуйте следующие настройки:

$config['protocol'] = 'smtp'; 
$config['charset'] = 'iso-8859-1'; 
$config['mailtype'] = 'html'; 

$config['smtp_host'] = 'ssl://smtp.gmail.com'; 
$config['smtp_port'] = '465'; 

$config['smtp_user'] = 'My Gmail'; 
$config['smtp_pass'] = 'My Password'; 

И отправить функции почты, добавить установить новый код строки, прежде чем «от»

$this->email->set_newline("\r\n"); 
$this->email->from($this->config->item('webmaster_email', 'tank_auth'), $this->config->item('website_name', 'tank_auth')); 
+0

Спасибо за ваш ответ, но я получаю одинаковые результаты –

Смежные вопросы