从eZ Components ezcMailMultipartReport对象输出消息正文

时间:2009-06-12 22:45:38

标签: php object zeta-components

我正在尝试使用eZ Components中的ezcMailImapTransport类输出从我的imap服务器检索到的消息的消息体。

我能够连接并检索所有消息,但我无法弄清楚如何输出消息体。

print_r($mail[0]->body);的输出如下。我只是不知道如何处理这样的物体。

邮件本身就是电子邮件退回通知。

ezcMailMultipartReport Object
(
    [parts:protected] => Array
        (
            [0] => ezcMailText Object
                (
                    [headers:private] => ezcMailHeadersHolder Object
                        (
                            [lookup:private] => Array
                                (
                                    [content-description] => Content-Description
                                    [content-type] => Content-Type
                                )

                            [map:private] => Array
                                (
                                    [Content-Description] => Notification
                                    [Content-Type] => text/plain; charset=us-ascii
                                )

                        )

                    [headerCharsets:private] => Array
                        (
                            [Content-Description] => us-ascii
                            [Content-Type] => us-ascii
                        )

                    [excludeHeaders:private] => Array
                        (
                        )

                    [properties:protected] => Array
                        (
                            [text] => This is the mail system at host example.com.

I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

                   The mail system

: Host or domain name not found. Name service error for
    name=lskjsdf.com type=A: Host not found

                            [charset] => utf-8
                            [encoding] => 8bit
                            [subType] => plain
                            [originalCharset] => us-ascii
                            [size] => 501
                        )

                )

            [1] => ezcMailDeliveryStatus Object
                (
                    [headers:private] => ezcMailHeadersHolder Object
                        (
                            [lookup:private] => Array
                                (
                                )

                            [map:private] => Array
                                (
                                )

                        )

                    [headerCharsets:private] => Array
                        (
                        )

                    [excludeHeaders:private] => Array
                        (
                        )

                    [properties:protected] => Array
                        (
                            [message] => ezcMailHeadersHolder Object
                                (
                                    [lookup:private] => Array
                                        (
                                            [reporting-mta] => Reporting-MTA
                                            [x-postfix-queue-id] => X-Postfix-Queue-ID
                                            [x-postfix-sender] => X-Postfix-Sender
                                            [arrival-date] => Arrival-Date
                                        )

                                    [map:private] => Array
                                        (
                                            [Reporting-MTA] => dns; example.com
                                            [X-Postfix-Queue-ID] => 78A6E92D38
                                            [X-Postfix-Sender] => rfc822; bounce@bounce.example.com
                                            [Arrival-Date] => Fri, 12 Jun 2009 17:43:07 -0400 (EDT)
                                        )

                                )

                            [recipients] => ArrayObject Object
                                (
                                    [0] => ezcMailHeadersHolder Object
                                        (
                                            [lookup:private] => Array
                                                (
                                                    [final-recipient] => Final-Recipient
                                                    [original-recipient] => Original-Recipient
                                                    [action] => Action
                                                    [status] => Status
                                                    [diagnostic-code] => Diagnostic-Code
                                                )

                                            [map:private] => Array
                                                (
                                                    [Final-Recipient] => rfc822; kjdskfj@lskjsdf.com
                                                    [Original-Recipient] => rfc822;kjdskfj@lskjsdf.com
                                                    [Action] => failed
                                                    [Status] => 5.4.4
                                                    [Diagnostic-Code] => X-Postfix; Host or domain name not found. Name service error    for name=lskjsdf.com type=A: Host not found

                                                )

                                        )

                                )

                            [size] => 431
                        )

                )

            [2] => ezcMailRfc822Digest Object
                (
                    [headers:private] => ezcMailHeadersHolder Object
                        (
                            [lookup:private] => Array
                                (
                                    [content-type] => Content-Type
                                    [content-disposition] => Content-Disposition
                                )

                            [map:private] => Array
                                (
                                    [Content-Type] => message/rfc822
                                    [Content-Disposition] => inline
                                )

                        )

                    [headerCharsets:private] => Array
                        (
                            [Content-Type] => us-ascii
                            [Content-Disposition] => us-ascii
                        )

                    [excludeHeaders:private] => Array
                        (
                        )

                    [properties:protected] => Array
                        (
                            [mail] => ezcMail Object
                                (
                                    [headers:private] => ezcMailHeadersHolder Object
                                        (
                                            [lookup:private] => Array
                                                (
                                                    [received] => Received
                                                    [dkim-signature] => DKIM-Signature
                                                    [domainkey-signature] => DomainKey-Signature
                                                    [from] => From
                                                    [to] => To
                                                    [subject] => Subject
                                                    [mime-version] => MIME-Version
                                                    [user-agent] => User-Agent
                                                    [date] => Date
                                                    [message-id] => Message-Id
                                                    [content-type] => Content-Type
                                                    [content-transfer-encoding] => Content-Transfer-Encoding
                                                )

                                            [map:private] => Array
                                                (
                                                    [Received] => from localhost (example.com [127.0.0.1]) by example.com (Postfix) with ESMTP id 51C3192D2A for ; Fri, 12 Jun 2009 17:43:07 -0400 (EDT)
                                                    [DKIM-Signature] => v=1; a=rsa-sha1; c=relaxed; d=example.com; h=from:to :subject:mime-version:date:message-id:content-type :content-transfer-encoding; s=qs762.1; bh=o1jS7VG7S60y5SvP5lioDm 5B7VY=; b=Bojv0GjNWsHTRyiKZ631bvWczjntEJZsegrsU2tt/1EI4KVQnRXmT+ u4oX6cQTpPK2xxZfiZ3BymPsoOD3weKSFmdwDOEUB4vEDdG+Bx697345c+KaSpdw IlJh2o3x0Zus/Ov8xRelHX+/6sklnN1GDllEQV2JlcKdKxR+fUrOQ=
                                                    [DomainKey-Signature] => a=rsa-sha1; c=nofws; d=example.com; h=from:to :subject:mime-version:date:message-id:content-type :content-transfer-encoding; q=dns; s=qs762.1; b=HHzMU01/vNx4dBL5 OKyfxQzKytIIJB4KGhKWfFpSdsNNMPwCjrnRthz0wR4wqSgMIDmGobYOLujHekwM 1lLOAnMEQrXRWYHaIHBNIIrxemq1btuiMe8zNKEG3X/wSmYQE3xzInwPurB9iLAa Rjie7bJgTk0Tg+x54hav6l464Ok=
                                                    [From] => Example From
                                                    [To] => Ian Cook 
                                                    [Subject] => ezmail test 14:43:07
                                                    [MIME-Version] => 1.0
                                                    [User-Agent] => eZ Components
                                                    [Date] => Fri, 12 Jun 2009 14:43:07 -0700
                                                    [Message-Id] => <2009061214141207.76354.0@example.com>
                                                    [Content-Type] => text/plain; charset=us-ascii
                                                    [Content-Transfer-Encoding] => quoted-printable
                                                )

                                        )

                                    [headerCharsets:private] => Array
                                        (
                                            [Received] => us-ascii
                                            [DKIM-Signature] => us-ascii
                                            [DomainKey-Signature] => us-ascii
                                            [From] => us-ascii
                                            [To] => us-ascii
                                            [Subject] => us-ascii
                                            [MIME-Version] => us-ascii
                                            [User-Agent] => us-ascii
                                            [Date] => us-ascii
                                            [Message-Id] => us-ascii
                                            [Content-Type] => us-ascii
                                            [Content-Transfer-Encoding] => us-ascii
                                        )

                                    [excludeHeaders:private] => Array
                                        (
                                        )

                                    [properties:protected] => Array
                                        (
                                            [from] => ezcMailAddress Object
                                                (
                                                    [name] => Example From
                                                    [email] => example@example.com
                                                    [charset] => utf-8
                                                )

                                            [to] => Array
                                                (
                                                    [0] => ezcMailAddress Object
                                                        (
                                                            [name] => Ian Cook
                                                            [email] => kjdskfj@lskjsdf.com
                                                            [charset] => utf-8
                                                        )

                                                )

                                            [cc] => Array
                                                (
                                                )

                                            [bcc] => Array
                                                (
                                                )

                                            [subject] => ezmail test 14:43:07
                                            [subjectCharset] => utf-8
                                            [body] => ezcMailText Object
                                                (
                                                    [headers:private] => ezcMailHeadersHolder Object
                                                        (
                                                            [lookup:private] => Array
                                                                (
                                                                    [content-type] => Content-Type
                                                                    [content-transfer-encoding] => Content-Transfer-Encoding
                                                                )

                                                            [map:private] => Array
                                                                (
                                                                    [Content-Type] => text/plain; charset=us-ascii
                                                                    [Content-Transfer-Encoding] => quoted-printable
                                                                )

                                                        )

                                                    [headerCharsets:private] => Array
                                                        (
                                                            [Content-Type] => us-ascii
                                                            [Content-Transfer-Encoding] => us-ascii
                                                        )

                                                    [excludeHeaders:private] => Array
                                                        (
                                                        )

                                                    [properties:protected] => Array
                                                        (
                                                            [text] => Test mail sent at 14:43:07

                                                            [charset] => utf-8
                                                            [encoding] => 8bit
                                                            [subType] => plain
                                                            [originalCharset] => us-ascii
                                                            [size] => 27
                                                        )

                                                )

                                            [messageId] => <2009061214141207.76354.0@example.com>
                                            [returnPath] => 
                                        )

                                )

                            [size] => 1473
                        )

                )

        )

    [headers:private] => ezcMailHeadersHolder Object
        (
            [lookup:private] => Array
                (
                    [content-type] => Content-Type
                )

            [map:private] => Array
                (
                    [Content-Type] => multipart/report; boundary="78A6E92D38.1244842987/example.com"
                )

        )

    [headerCharsets:private] => Array
        (
            [Content-Type] => us-ascii
        )

    [excludeHeaders:private] => Array
        (
        )

    [properties:protected] => Array
        (
            [noMimeMessage] => This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
            [boundary] => 78A6E92D38.1244842987/example.com
            [reportType] => delivery-status
            [size] => 2405
        )

)

1 个答案:

答案 0 :(得分:1)

我不使用EzComponents,但是你看了http://ezcomponents.org/docs/api/trunk/Mail/ezcMailMultipartReport.html#getParts做了类似的事情:

$parts = $mail->getParts();
print_r($parts);  // or
print_r($parts[0]->body);  // (untested)

ezcMailMultipartReport只是ezcMailMultipart的一个子类,所以可以采取的所有操作(或者它自己的父级,ezcMailPart)都可用。