0

目前我正在使用 Zend Expressive 开发一个应用程序。我正在使用zend-mail 发送注册电子邮件。

但是,这里的代码:

<?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;
}

问候,虚幻

4

1 回答 1

1

在您的 php.ini 文件中启用 extension=iconv.so。

于 2016-12-02T18:24:15.523 回答