Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend框架发送邮件_Php_Zend Framework_Magento - Fatal编程技术网

Php Zend框架发送邮件

Php Zend框架发送邮件,php,zend-framework,magento,Php,Zend Framework,Magento,是否可以将数组值作为zend邮件的正文发送。例如 $mail=new Zend_Mail(); $params=$this->getRequest()->getParams(); $mail->setSubject('Order products'); $mail->addTo('recipient@gmail.com','Recipient'); $mail->setBodyText($params['products']); // $params['produc

是否可以将数组值作为zend邮件的正文发送。例如

$mail=new Zend_Mail();
$params=$this->getRequest()->getParams();
$mail->setSubject('Order products');
$mail->addTo('recipient@gmail.com','Recipient');
$mail->setBodyText($params['products']); // $params['products'] array
$mail->setFrom('someone@gmail.com','Name');

但这似乎不起作用。

通过这种方式,您将始终有一个空的正文,您需要将数组转换为字符串

BodyText是一个对象(Zend_Mime_Part),以及此对象包含内容字段的其他信息,问题是:在将内容添加到Mime_Part对象之前,它通过rtrim()传递,因此将有一个空字符串作为内容传递


rtrim()希望参数1是字符串,…。\library\Zend\Mime.php,第170行

我用这种方式,它对我有效

$mail = new Zend_Mail();
$mail->setFrom('someone@gmail.com');
$mail->setBodyHtml($oForm->getValue('text'));
$mail->addTo(array('xyz.aaa@web.com', 'eee@web.com'));
$mail->setSubject('support mail');
此处
$message
包含从
Post
检索到的所有表内容
@Pekka
给出的建议很重要。

希望这对你有帮助。

那么,可怜的
Zend_Mail
怎么会知道如何处理数组呢?发送前,只需
内爆()
和/或按您想要的方式格式化即可。
$mail = new Zend_Mail('utf-8');
$mail->setBodyHtml($message)
->setFrom('abc@gty.com', 'abc')
->addTo($to, 'admin')
->setSubject($subj);