2016-12-02 8 views
0

現在、私はZend Expressiveでアプリケーションを開発しています。 私はzend-mailを使って登録メールを送信しています。未定義の関数を呼び出します。Zend Mail Header iconv_mime_decode()

しかし、ここでのコードは次のとおりです。

<?php 

namespace App\Mail\Service; 

use Zend\Mail\Transport\Smtp; 
use Zend\Mail\Transport\SmtpOptions; 
use Zend\Mail\Message; 

class MailService 
{ 
    private $transport; 
    private $options; 

public function __construct() { 
    $this->transport = new Smtp(); 
    $this->options = new SmtpOptions([ 
     'name' => 'XXXXXX', 
     'host' => 'XXXXXX', 
     'port' => 587, 
     'connection_class' => 'plain', 
     'connection_config' => [ 
      'username' => 'XXXXXX', 
      'password' => 'XXXXXX', 
      'ssl'  => 'tls' 
     ], 
    ]); 
    $this->transport->setOptions($this->options); 
} 

public function sendRegisterMail($email) 
{ 
    $message = new Message(); 
    $message->addFrom('XXXXXX', 'XXXXXX'); 
    $message->addTo($email); 
    $message->setEncoding("UTF-8"); 
    $message->getHeaders()->addHeaderLine('Content-Type', 'text/plain; charset=UTF-8'); 
    $message->setSubject('Subject'); 
    $message->setBody('This is the Message Body'); 

    $this->transport->send($message); 

} 
} 

?> 

私は上記のエラーメッセージが表示されました。 ICONVがインストールされ、動作しています。ここで

は、この関数の呼び出しのためのコードです:

public static function mimeDecodeValue($value) 
{ 
    $decodedValue = iconv_mime_decode($value, ICONV_MIME_DECODE_CONTINUE_ON_ERROR, 'UTF-8'); 
    return $decodedValue; 
} 

よろしく、 非現実

+0

ここでどのように 'mimeDecodeValue()'を呼び出していますか? – Dragos

+0

zend-mail/src/Header/Date.phpが電子メールヘッダーをアセンブルする関数を呼び出しています。 $ value = HeaderWrap :: mimeDecodeValue($ value); – Unreality

+0

その行にブレークポイントを設定して、その行で何が起こっているのかをデバッガにチェックインしてみましたか? – Dragos

答えて

0

は、php.iniファイルに拡張子= iconv.soを有効にします。

+0

ok ...今は馬鹿だと感じています。 iconvは起動されているようですが、実際にはそうではありませんでした – Unreality

+0

私の言い訳では... --without-iconvでコンパイルすると無効になるかもしれませんが、ドキュメントはデフォルトで有効になっています。 それが問題でした。 – Unreality

関連する問題