0

Zend Framework 2 のメーラー クラスを作成しました。これは Sendmail クラスを使用します。

問題は、メールの件名を複数の単語で設定したことです。送信する前に、件名をダンプします。すべてのスペースは問題ありません。メールを送信した後、Gmail を確認すると、件名からすべてのスペースが取り除かれています。

スクリプトを実行すると、件名として「testemail」が表示されます。

私が作成したクラスの一部の下:

public function addFile($p_sPath, $p_sMimetype, $p_sFilename){
    $rFile = fopen($p_sPath,'rb');
    $this->_m_oAttachment = new Mimepart(fread($rFile,filesize($p_sPath)));
    $this->_m_oAttachment->type = $p_sMimetype;
    $this->_m_oAttachment->filename = $p_sFilename;
    $this->_m_oAttachment->disposition = 'attachment';
    $this->_m_oAttachment->encoding = Mime::ENCODING_BASE64;
}


public function sendEmail()
{
    $aParts = (!is_null($this->_m_oAttachment)) 
            ? array($this->_m_oBodymessage, $this->_m_oAttachment) 
            : array($this->_m_oBodymessage);

    $this->_m_oBodypart->setParts($aParts);

    $this->_m_oMessage->setEncoding('utf-8')
                      ->setBody($this->_m_oBodypart)
                      ->addFrom($this->_fromAddress, $this->_fromName)
                      ->addReplyTo($this->_fromAddress, $this->_fromName)
                      ->setSubject($this->_subject);
                      // even here the spaces are still intact.
    $this->send($this->_m_oMessage);
}



$oMailer = $this->getLocator()->get('Core\Mailer');
$oMailer->setBodyHtml('mail/mail.phtml', array('aData' => $aData));
$oMailer->setSubject('test email');
$oMailer->setRecipient('jacob@myemail.com', 'jacob');
$oMailer->addFile(realpath(dirname(__file__). '/../../../../../'.$sPath.$sSubfolder.'/'.$sFilename), 'application/pdf', $aData['data']['eventID'].'_'.$aDeclaratie['data']['userID'].'.pdf');
$oMailer->sendEmail();
4

1 に答える 1

2

これは Zend Framework 2 安定版で修正されています

http://framework.zend.com/issues/browse/ZF2-258

于 2012-09-09T09:53:19.910 に答える