2011-05-04 3 views
0

나는 smtp를 통해 HTML 이메일을 보내기 위해 CI 라이브러리를 사용합니다. 내 컴퓨터에서 보내려고하면 올바른 HTML을 보냅니다. 하지만 서버에서 보내면 왜 HTML 태그가 생깁니 까. html로 포맷되지 않았습니까? 나는 이미 'mailtype'을 'html'로 설정했다.이메일 보내기 php

왜 내 로컬에서는 작동하지만 서버에서는 작동하지 않는지 궁금합니다. PHP에서 구성이 있습니까? 아니면 이메일 헤더 등을 보내야합니까?

public function index() 
    {  
     $config = array(
      'protocol' => 'smtp', 
      'smtp_host' => 'tls://smtp.gmail.com', 
      'smtp_port' => 465, 
      'smtp_user' => 'xxxx', 
      'smtp_pass' => 'xxxx', 
      'mailtype' => 'html', 
      'charset' => 'utf-8' 
     ); 

     $this->load->library('email', $this->config->item('email')); 
     $this->email->set_newline("\r\n"); 
     $this->email->from('xxxx', 'xxxx'); 

     $this->email->to("xxxx"); 

     $this->email->subject('Test Email'); 

     $body = $this->load->view('welcome_message',null,TRUE); 

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

     if (!$this->email->send()){ 
      echo 'fail to load email'; 
     } 
     else { 
      echo 'success to send email'; 
     } 
    } 
+0

코드, 코드, 코드 –

+0

당신은 단순히 센드 메일을 사용하고 같은 문제가있을 경우보고 봤어? – eyaka1

+0

'$ this-> email-> print_debugger()'출력은 무엇입니까? –

답변

1

구성 옵션 설정은 초기화하지 않으면 작동하지 않습니다. 당신의 $config 배열 한 후이 추가 :

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

예, 맞습니다. 단지 초기화 설정을 다시해야한다는 것을 알았습니다. 그래서 성가신. –

0

나는 당신이하려는 생각 어떤 기준 자료 :

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

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

시도해야하며, 저희에게 알려주십시오.