我正在尝试通过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的邮件附件出了什么问题?
答案 0 :(得分:0)
docs表示第一个参数应该是正在发送的二进制数据字符串。
有些评论建议使用file_get_contents()
来发送图像,这当然会返回一个字符串,但它是一串表示图像的二进制数据。
toString()
方法返回的$txtFile
方法是什么?像
return "This is some plain text";
还是返回二进制数据?
您可能想尝试创建包含某些内容的纯文本文件,然后在该文件上使用file_get_contents()
并使用返回值作为发送附件的第一个参数,而不是仅发送一个纯字符串。
希望有所帮助。
答案 1 :(得分:0)
显然,我们的反垃圾邮件软件正在弄乱电子邮件的标题(在输出中)。