ZendMail headers:调用非对象上的成员函数 setType()


ZendMail headers: Call to a member function setType() on a non-object

尝试在Zend''Mail消息中设置内容类型时:

use Zend'Mail'Message;
.
.
.
// create the message
$message = new Message();
$message->getHeaders()->get('content-type')->setType('multipart/alternative');
.
.
.

我收到以下错误:

Fatal error: Call to a member function setType() on a non-object in /var/www/jt_sso/website/app/library/Mail/Manager.php on line 125

如果缺少此标头,我应该做些什么。我注意到Zend''Mail''Headers(getHeaders()的结果)有一个::has(headerName)方法,所以我可以检查这个方法是否存在,但是如果缺少它,我看不到设置新标头的方法。另外,我不能只设置消息(如果不存在,请创建一个)吗?当我在网上查看示例时,我只看到get()->setType(..)方法链。

发生这种情况是因为标题"内容类型"未定义,因此您必须定义它。

例如:

$message->getHeaders()->addHeaderLine('content-type', 'multipart/alternative');

这应该添加缺少的标头并设置键入您想要的它。