2014-01-13 6 views
2

Expression Engine 플러그인에서 codeigniters 전자 메일 클래스를 사용하고 있습니다 (EE는 CI를 실행합니다). 플러그인이 실행될 때마다 어떤 이유로 플러그인은 1 대신 2 개의 전자 메일을 보냅니다. 전자 메일은 동일합니다.Codeigniter가 여러 개의 전자 메일을 보내고 있습니다

여기에 위에서 호출 한 함수가 있습니다.

public function questionnaire() { 

    $type = $this->EE->TMPL->fetch_param('type'); 
    $typeLower = str_replace("-", " ", $type); 
    $typeUpper = ucwords($typeLower); 

    print_r($type); 

    $entry_id = $this->EE->TMPL->fetch_param('entry_id'); 

    $subject = $typeUpper.' Questionnaire Submission'; 
    $fromEmail = '[email protected]'; 
    $fromName = 'Test Name'; 
    $toEmail = '[email protected]'; 

    $message = ' 
     <p>A new '.$typeLower.' has been submitted.</p> 
     <p><a href="http://www.domain.co.uk/questionnaires/view/'.$type.'/'.$entry_id.'">Please click here to view this submission</a></p> 
    '; 

    $this->EE->load->library('email'); 
    $this->EE->email->set_mailtype("html");   
    $this->EE->email->from($fromEmail, $fromName); 
    $this->EE->email->to($toEmail);  
    $this->EE->email->subject($subject); 
    $this->EE->email->message($message); 
    $this->EE->email->send(); 

} 

아무도 말해 줄 수 있습니까? 나는 그것을 이해할 수 없다. 필자는 type과 entry_id 매개 변수의 내용을 출력하여 각각 1 개만 수집되는지 확인했습니다.

감사합니다.

답변

2

메일을 보낸 후 이메일 개체를 삭제해야한다고 생각합니다. 귀하의 경우를 들어

ee()->email->clear(); 

:

$this->EE->email->clear(); 
+0

감사를 표현 엔진에 따라, 당신은 전화를해야합니다. 나는 그것을 추가했지만, 여전히 두 개의 이메일을 보냈다. – user2889310

+0

이메일 전송 코드 실행 후 실행을 중단하십시오 ('exit();'). 그런 다음 메일을 확인하십시오. –

+0

exit()를 추가해도 여전히 두 개의 이메일을 보내지 만 템플릿 대신 빈 페이지가 표시됩니다. – user2889310

관련 문제