2014-10-30 6 views
0

에 등록 된 사용자에게 전자 메일을 보내면 사용자가 등록 된 후 바로 사용자에게 전자 메일을 보내는 방법을 알려줄 수 있습니다. 나는 codeigniter에 초보자입니다. 등록 양식을 제출 한 직후 이메일을 보내고 싶습니다. 어떤 도움코드 서명자

답변

2

$ CI = & get_instance(); $ CI-> load-> library ('email');

$config['protocol'] = 'smtp'; 
    $config['smtp_host'] = 'mail.******.com'; 
    $config['smtp_timeout'] = '7'; 
    $config['smtp_user'] = '[email protected]'; 
    $config['smtp_pass'] = '*******'; 
    $config['charset'] = 'utf-8'; 
    $config['newline'] = "\r\n"; 
    $config['mailtype'] = 'html'; // or html 
    $config['validation'] = TRUE; // bool whether to validate email or not 

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

    $CI->email->from('[email protected]', 'Test'); 
    $CI->email->to('[email protected]'); 
    $CI->email->cc('[email protected]'); 
    $CI->email->bcc('[email protected]'); 
    // EXP. $CI->email->bcc('[email protected],[email protected]'); 
    $CI->email->subject('email subject'); 
    $CI->email->message('message body'); 
    $CI->email->send(); 
    //echo $this->email->print_debugger(); 
1

당신은 이메일 클래스를 사용하는 것에 대한

<?php 
class Reg_model extends CI_Model { 
    public function userReg($reg_fname, $reg_lname, $reg_email, $reg_pass, $reg_conpass) { 
     $sql = "INSERT INTO fw_registeration (reg_fname, reg_lname, reg_email, reg_pass, reg_conpass) VALUES (".$this->db->escape($reg_fname).", ".$this->db->escape($reg_lname).", ".$this->db->escape($reg_email).", ".$this->db->escape($reg_pass).", ".$this->db->escape($reg_conpass).")"; 

     //echo $this->db->affected_rows(); 
     if ($result = $this->db->query($sql, array($reg_fname, $reg_lname, $reg_email, $reg_pass, $reg_conpass))); 
     { 
      //echo base_url(); 
      // $this->load->view('home'); 
      $this->load->view('index_new'); 
     } 
    } 
} 
?> 

고맙습니다 :이 내 모델

<?php 

    class Registration extends CI_Controller { 

     public function index() 
     { 
      parent::__construct(); 
      $this->load->view('registration_view'); 
     } 
    public function userReg() { 

      if(extract($_POST)){ 
       //Validation of login form 
       $this->form_validation->set_rules('reg_fname', 'First Name', 'required'); 
       $this->form_validation->set_rules('reg_lname', 'Last Name', 'required'); 
       $this->form_validation->set_rules('reg_email', 'Email', 'required|valid_email|is_unique[fw_registeration.reg_email]'); 
       $this->form_validation->set_rules('reg_pass', 'Password', 'required|matches[reg_conpass]|min_length[6]|max_length[12]'); 
       $this->form_validation->set_rules('reg_conpass', 'ConfirmPassword', 'required'); 


       if($this->form_validation->run() == FALSE){ 
        $data['reg_fname'] = $reg_fname; 
        $data['reg_lname'] = $reg_lname; 
        $data['reg_email'] = $reg_email; 
        $data['reg_pass'] = $reg_pass; 
        $data['reg_conpass'] = $reg_conpass; 

        $this->load->view('registration_view', $data); 
       }else{ 
        //checking username and password from db 
        $this->load->model('reg_model'); 
        //$login_status = $this->form_model->userLogin($user_login_name, $user_login_password); 
        //registeration status 
        $reg_status = $this->reg_model->userReg($reg_fname, $reg_lname, $reg_email, $reg_pass, $reg_conpass); 
        if($reg_status == true){ 

         $data['reg_status'] = "Welcome, you logged in.";  
        // $this->load->view('login', $data); 
        }else{ 
         $data['reg_status'] = "Login Failed. Please Try Again..."; 
         //$this->load->view('loginsuccess', $data); 
        } 
       } 
      } 
         else{ 
       $this->load->view('registration_view'); 
         } 
        } 
    } 
    ?> 

입니다 :

이 내 컨트롤러입니다. https://ellislab.com/codeigniter/user-guide/libraries/email.html

일단 사용자가 데이터베이스에 있으면 다음과 같이 전자 메일을 보낼 수 있습니다. 당신은 로컬 호스트에서 이메일을 보내는 경우 ... 당신이 당신의 php.ini 파일 및 센드 메일에서 설정을 할 필요가 그렇다면 아래 코드는 당신을 위해 ... 작동

if ($result) 
{ 
    $this->load->library('email'); 
    $this->email->from('[email protected]', 'Your Name'); 
    $this->email->to($reg_email); 

    $this->email->subject('Thanks for regstering'); 
    $this->email->message('Thank you, big lad!'); 

    $this->email->send(); 
} 
+0

thanx 답장. 메시지 : mail() : "localhost"포트 25에서 메일 서버에 연결하지 못했습니다. php.ini에서 "SMTP"및 "smtp_port"설정을 확인하거나 ini_set()을 사용하십시오. – hash

+0

SMTP 설정을 구성하십시오. 내가 게시 한 사용자 가이드를 읽으십시오. – Craig

0

사용 ...이 노트는 작동하지 않습니다 .ini 파일 ..

if($reg_status == true){ 
    $this->load->library('email'); 
    $config_email['protocol'] = 'mail'; 
    $config_email['mailtype'] = 'html'; 
    $this->email->initialize($config_email); 

    $this->email->from('[email protected]', 'Your Domain'); 
    $this->email->to($reg_email); 
    $this->email->subject('We welcome you'); 
    $this->email->message("Thanks for registration"); 

    if ($this->email->send()) { 
     $data['reg_status'] = "Welcome, you logged in."; 
    } else { 
     $data['reg_status'] = "SOrry registration fail"; 
    } 

    //$this->load->view('login', $data); 
} 
+0

회신에 대한 고맙지 만 오류 표시 : 메시지 : mail() : "localhost"포트에서 메일 서버에 연결하지 못했습니다. 25, php.ini에서 "SMTP"와 "smtp_port"설정을 확인하거나 ini_set()을 사용합니다. – hash

+0

어떤 서버를 사용하고 있습니까? XAMPP 또는 기타를 의미합니다. 컴퓨터 localhost 또는 온라인 서버 localhost .. –

+0

선생님 나는 WAMP SERVER – hash

관련 문제