无法将Zend Framework附件发送到Gmail和Lotus Notes

时间:2010-09-17 08:04:57

标签: php zend-framework

我正在尝试通过Zend Framework的(1.10.7)邮件库发送文件。

$mail = new Zend_Mail();
$mail->setSubject('Test');
$mail->setFrom('hello@ex.com');
$mail->setBodyText ( "" );

$at = $mail->createAttachment($txtFile->toString(), 
                                'text/plain', 
                                Zend_Mime::DISPOSITION_ATTACHMENT, 
                                Zend_Mime::ENCODING_8BIT);
$mail->addTo ( "hi@you.com" );                              
$mail->send();

该文件是一个简单的文本文件。 它适用于Outllok,我收到了正确的附件,但没有使用Gmail和Lotus Notes。

使用Gmail我收到此消息:

这是Mime格式的消息。如果您看到此消息,则您的邮件阅读器不支持此格式。

Lotus Notes说:

此项目的MIME内容存储在attchment $ RFC822.eml中。解析MIME内容失败:MIME数据格式不正确..

Zend的邮件附件出了什么问题?

2 个答案:

答案 0 :(得分:0)

docs表示第一个参数应该是正在发送的二进制数据字符串。

有些评论建议使用file_get_contents()来发送图像,这当然会返回一个字符串,但它是一串表示图像的二进制数据。

toString()方法返回的$txtFile方法是什么?像

这样的简单字符串
return "This is some plain text"; 

还是返回二进制数据?

您可能想尝试创建包含某些内容的纯文本文件,然后在该文件上使用file_get_contents()并使用返回值作为发送附件的第一个参数,而不是仅发送一个纯字符串。

希望有所帮助。

答案 1 :(得分:0)

显然,我们的反垃圾邮件软件正在弄乱电子邮件的标题(在输出中)。