代码之家  ›  专栏  ›  技术社区  ›  Ian

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

  •  -1
  • Ian  · 技术社区  · 17 年前

    我正试图使用eZ Components中的EZCMailMapTransport类输出从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 回复  |  直到 15 年前
        1
  •  1
  •   Alister Bulman    17 年前

    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)都是可用的。

    推荐文章