2015-02-03 4 views
1

나는 ZF2로 이메일을 보내려고한다.PHP zf2 mail return null

내가 사용

$mail = new Mail\Message(); 
    $mail->addFrom('[email protected]', 'name') 
    ->addTo('[email protected]') 
    ->setSubject('Cotización')->setBody('This is the text of the mail.'); 


    try{ 
    $transport = new Mail\Transport\Sendmail(); 
    $transport->send($mail); 
    }catch (\Exception $e) 
    { 
     //var_dump($e); 
    } 
    die(); 

그리고 난에 allways "널 (null)"얻을.

<pre class="xdebug-var-dump" dir="ltr"><font color="#3465a4">null</font> 

하지만 난 위해서 var_dump를 언급 얻고 난) (죽을 설정, 다음 HTML에서 나는 얻을 나에게 텍스트를 출력한다. 나는 그것을 어떻게 풀 수 있는지 정말로 모른다. PD : 예외에 입력하지 않습니다. 인쇄 텍스트를 사용해 봅니다.

+0

당신은 무엇에서 '항상 null 수'? 코드에서 값을 반환하거나 반환하지 않습니다. 또한 ZF2 메일 전송은 값을 반환하지 않으므로 null이 작동하면 얻을 것으로 예상되는 값입니다. 아마도 이메일을받지 못했을 것입니다. 1. sendmail을 설치 했습니까? 2. PHP mail() 함수를 대신 사용한다면 그 일을 할 수 있습니까? –

답변

0

이 시도 :

//mail 
use Zend\Mail\Message; 
use Zend\Mail\Transport\Sendmail as SendmailTransport; 
use Zend\Mime\Part as MimePart; 
use Zend\Mime\Message as MimeMessage; 

.....

function sendEmail($mail){ 

/* 
*Optional; email with style 
* 
*/ 
     $this->renderer = $this->getServiceLocator()->get('ViewRenderer'); 
     $content = $this->renderer->render('application/index/mail',array()); 


     $html = new MimePart($content); 
     $html->type = "text/html"; 

     $body = new MimeMessage(); 

     $body->setParts(array($html)); 


     $cabeceras = 'MIME-Version: 1.0' . "\r\n"; 
     $cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
/* 
    *Optional; email with style 
    * 
    */ 

     $transport = $this->getServiceLocator()->get('mail.transport'); 
     $message = new Message(); 
     $message->getHeaders()->addHeaderLine($cabeceras); 
     $this->getRequest()->getServer(); //Server vars 
     $message->addTo($mail) 

      ->addFrom('[email protected]') 
      ->setSubject('TestSubject') 
      ->setEncoding("UTF-8") 
      ->setBody($body); 

     $transport = new SendmailTransport(); 
     $transport->send($message); 
    }