PHP zf2邮件返回null

时间:2015-02-03 23:16:04

标签: php email zend-framework zend-framework2 send

我尝试使用ZF2发送电子邮件。

我用:

    $mail = new Mail\Message();
    $mail->addFrom('email@mail.com', 'name')
    ->addTo('email@mail.com')
    ->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();

我总是得到" null"。在我得到的HTML中:

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

但我得到var_dump的评论,我设置了die();但打印我的文字。我真的不知道如何解决它。 PD:没有进入例外。我尝试打印文字。

1 个答案:

答案 0 :(得分: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('test@gmail.com')
            ->setSubject('TestSubject')
            ->setEncoding("UTF-8")
            ->setBody($body);

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