2016-06-26 3 views
0

У меня возникли проблемы с CodeIgniter. Я предварительно загрузил конфигурацию электронной почты, но когда я пытаюсь отправить электронное письмо с помощью функции в контроллере, я получаю сообщение об ошибке 500. Не уверен, что это такое. Пожалуйста помоги!Получение ошибки 500 при отправке электронной почты в Codeigniter

public function regvalidation() 
{ 
    $this->load->library('form_validation'); 

    $this->form_validation->set_rules('email','email','required|trim|valid_email|is_unique[user_admin.username]'); 

    $this->form_validation->set_rules('password','Password','required|trim'); 
    $this->form_validation->set_rules('c_password','Confirm Password','required|trim|matches[password]'); 


    if ($this->form_validation->run()) 
    { 

     $this->load->library('email'); 
     $key = md5(uniqueid()); 

     //echo $this->input->post('email'); 

     $this->email->from('[email protected]','Edge Master'); 
     $this->email->to($this->input->post('email')); 
     $this->email->subject("EDGE | Confirm your account"); 

     $message = "<p>Thank you for signing up</p>"; 
     $message .= "<p><a href='".base_url()."main/register_user/".$key.">Click here</a>to confirm your account.</p>"; 

     $this->email->message($message); 

     $this->email->send(); 

     if ($this->email->send()) 
     { 
      echo "This email has been sent."; 
     } 
     else 
     { 
      echo "failed."; 
     } 
    } 

    else 
    { 
     $this->load->view('signup.php'); 
    } 
} 
+2

чтения. Ошибка. Журналы, –

+0

Где я могу найти эти журналы? –

+0

@DeviantMark проверить ответ ниже –

ответ

2

Установите ENVIRONMENT в «development» в index.php на корневой каталог проекта, затем проверьте журнал ошибок.

define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development'); 
switch (ENVIRONMENT) 
{ 
    case 'development': 
     error_reporting(-1); 
     ini_set('display_errors', 1); 
    break; 
... 
0

проверки Форма должна быть

if ($this->form_validation->run() == FALSE) 

Отсутствует одинарную кавычку на атрибут href

$message .= "<p><a href='".base_url()."main/register_user/".$key.">Click here</a>to confirm your account.</p>"; 
         ^          ^

должен быть

$message .= "<p><a href='".base_url()."main/register_user/".$key."'>Click here</a>to confirm your account.</p>"; 

Удалить первый email->send() в почтовом коде

# remove this 
# $this->email->send(); 

if ($this->email->send()) 
{ 
    echo "This email has been sent."; 
} 
else 
{ 
    echo "failed."; 
} 
Смежные вопросы