javax.mail

Interface Part

  • All Known Subinterfaces:
    MimePart
    All Known Implementing Classes:
    BodyPart, Message, MimeBodyPart, MimeMessage, PreencodedMimeBodyPart

    public interface Part
    The Part interface is the common base interface for Messages and BodyParts.

    Part consists of a set of attributes and a "Content".

    Attributes:

    The JavaMail API defines a set of standard Part attributes that are considered to be common to most existing Mail systems. These attributes have their own settor and gettor methods. Mail systems may support other Part attributes as well, these are represented as name-value pairs where both the name and value are Strings.

    Content:

    The data type of the "content" is returned by the getContentType() method. The MIME typing system is used to name data types.

    The "content" of a Part is available in various formats:

    • As a DataHandler - using the getDataHandler() method. The "content" of a Part is also available through a javax.activation.DataHandler object. The DataHandler object allows clients to discover the operations available on the content, and to instantiate the appropriate component to perform those operations.
    • As an input stream - using the getInputStream() method. Any mail-specific encodings are decoded before this stream is returned.
    • As a Java object - using the getContent() method. This method returns the "content" as a Java object. The returned object is of course dependent on the content itself. In particular, a "multipart" Part's content is always a Multipart or subclass thereof. That is, getContent() on a "multipart" type Part will always return a Multipart (or subclass) object.
    Part provides the writeTo() method that streams out its bytestream in mail-safe form suitable for transmission. This bytestream is typically an aggregation of the Part attributes and its content's bytestream.

    Message and BodyPart implement the Part interface. Note that in MIME parlance, Part models an Entity (RFC 2045, Section 2.4).

    Author:
    John Mani
    • Method Detail

      • getSize

        int getSize()
             throws MessagingException
        Return the size of the content of this part in bytes. Return -1 if the size cannot be determined.

        Note that the size may not be an exact measure of the content size and may or may not account for any transfer encoding of the content. The size is appropriate for display in a user interface to give the user a rough idea of the size of this part.

        Returns:
        size of content in bytes
        Throws:
        MessagingException
      • getLineCount

        int getLineCount()
                  throws MessagingException
        Return the number of lines in the content of this part. Return -1 if the number cannot be determined. Note that this number may not be an exact measure of the content length and may or may not account for any transfer encoding of the content.
        Returns:
        number of lines in the content.
        Throws:
        MessagingException
      • getContentType

        String getContentType()
                       throws MessagingException
        Returns the Content-Type of the content of this part. Returns null if the Content-Type could not be determined.

        The MIME typing system is used to name Content-types.

        Returns:
        The ContentType of this part
        Throws:
        MessagingException
        See Also:
        DataHandler
      • isMimeType

        boolean isMimeType(String mimeType)
                    throws MessagingException
        Is this Part of the specified MIME type? This method compares only the primaryType and subType. The parameters of the content types are ignored.

        For example, this method will return true when comparing a Part of content type "text/plain" with "text/plain; charset=foobar".

        If the subType of mimeType is the special character '*', then the subtype is ignored during the comparison.

        Throws:
        MessagingException
      • getDisposition

        String getDisposition()
                       throws MessagingException
        Return the disposition of this part. The disposition describes how the part should be presented to the user. (See RFC 2183.) The return value should be considered without regard to case. For example:

         String disp = part.getDisposition();
         if (disp == null || disp.equalsIgnoreCase(Part.ATTACHMENT))
                // treat as attachment if not first part
         
        Returns:
        disposition of this part, or null if unknown
        Throws:
        MessagingException
        See Also:
        ATTACHMENT, INLINE, getFileName()
      • getDescription

        String getDescription()
                       throws MessagingException
        Return a description String for this part. This typically associates some descriptive information with this part. Returns null if none is available.
        Returns:
        description of this part
        Throws:
        MessagingException
      • setDescription

        void setDescription(String description)
                     throws MessagingException
        Set a description String for this part. This typically associates some descriptive information with this part.
        Parameters:
        description - description of this part
        Throws:
        MessagingException
        IllegalWriteException - if the underlying implementation does not support modification of this header
        IllegalStateException - if this Part is obtained from a READ_ONLY folder
      • getFileName

        String getFileName()
                    throws MessagingException
        Get the filename associated with this part, if possible. Useful if this part represents an "attachment" that was loaded from a file. The filename will usually be a simple name, not including directory components.
        Returns:
        Filename to associate with this part
        Throws:
        MessagingException
      • setFileName

        void setFileName(String filename)
                  throws MessagingException
        Set the filename associated with this part, if possible. Useful if this part represents an "attachment" that was loaded from a file. The filename will usually be a simple name, not including directory components.
        Parameters:
        filename - Filename to associate with this part
        Throws:
        IllegalWriteException - if the underlying implementation does not support modification of this header
        IllegalStateException - if this Part is obtained from a READ_ONLY folder
        MessagingException
      • getInputStream

        InputStream getInputStream()
                            throws IOException,
                                   MessagingException
        Return an input stream for this part's "content". Any mail-specific transfer encodings will be decoded before the input stream is provided.

        This is typically a convenience method that just invokes the DataHandler's getInputStream() method.

        Returns:
        an InputStream
        Throws:
        IOException - this is typically thrown by the DataHandler. Refer to the documentation for javax.activation.DataHandler for more details.
        MessagingException
        See Also:
        getDataHandler(), DataHandler.getInputStream()
      • getDataHandler

        DataHandler getDataHandler()
                            throws MessagingException
        Return a DataHandler for the content within this part. The DataHandler allows clients to operate on as well as retrieve the content.
        Returns:
        DataHandler for the content
        Throws:
        MessagingException
      • getContent

        Object getContent()
                   throws IOException,
                          MessagingException
        Return the content as a Java object. The type of the returned object is of course dependent on the content itself. For example, the object returned for "text/plain" content is usually a String object. The object returned for a "multipart" content is always a Multipart subclass. For content-types that are unknown to the DataHandler system, an input stream is returned as the content

        This is a convenience method that just invokes the DataHandler's getContent() method

        Returns:
        Object
        Throws:
        MessagingException
        IOException - this is typically thrown by the DataHandler. Refer to the documentation for javax.activation.DataHandler for more details.
        See Also:
        DataHandler.getContent()
      • setDataHandler

        void setDataHandler(DataHandler dh)
                     throws MessagingException
        This method provides the mechanism to set this part's content. The DataHandler wraps around the actual content.
        Parameters:
        dh - The DataHandler for the content.
        Throws:
        MessagingException
        IllegalWriteException - if the underlying implementation does not support modification of existing values
        IllegalStateException - if this Part is obtained from a READ_ONLY folder
      • setContent

        void setContent(Object obj,
                        String type)
                 throws MessagingException
        A convenience method for setting this part's content. The part internally wraps the content in a DataHandler.

        Note that a DataContentHandler class for the specified type should be available to the JavaMail implementation for this to work right. i.e., to do setContent(foobar, "application/x-foobar"), a DataContentHandler for "application/x-foobar" should be installed. Refer to the Java Activation Framework for more information.

        Parameters:
        obj - A java object.
        type - MIME type of this object.
        Throws:
        IllegalWriteException - if the underlying implementation does not support modification of existing values
        IllegalStateException - if this Part is obtained from a READ_ONLY folder
        MessagingException
      • setText

        void setText(String text)
              throws MessagingException
        A convenience method that sets the given String as this part's content with a MIME type of "text/plain".
        Parameters:
        text - The text that is the Message's content.
        Throws:
        IllegalWriteException - if the underlying implementation does not support modification of existing values
        IllegalStateException - if this Part is obtained from a READ_ONLY folder
        MessagingException
      • writeTo

        void writeTo(OutputStream os)
              throws IOException,
                     MessagingException
        Output a bytestream for this Part. This bytestream is typically an aggregration of the Part attributes and an appropriately encoded bytestream from its 'content'.

        Classes that implement the Part interface decide on the appropriate encoding algorithm to be used.

        The bytestream is typically used for sending.

        Throws:
        IOException - if an error occurs writing to the stream or if an error is generated by the javax.activation layer.
        MessagingException - if an error occurs fetching the data to be written
        See Also:
        DataHandler.writeTo(java.io.OutputStream)
      • getHeader

        String[] getHeader(String header_name)
                    throws MessagingException
        Get all the headers for this header name. Returns null if no headers for this header name are available.
        Parameters:
        header_name - the name of this header
        Returns:
        the value fields for all headers with this name
        Throws:
        MessagingException
      • setHeader

        void setHeader(String header_name,
                       String header_value)
                throws MessagingException
        Set the value for this header_name. Replaces all existing header values with this new value.
        Parameters:
        header_name - the name of this header
        header_value - the value for this header
        Throws:
        MessagingException
        IllegalWriteException - if the underlying implementation does not support modification of existing values
        IllegalStateException - if this Part is obtained from a READ_ONLY folder
      • addHeader

        void addHeader(String header_name,
                       String header_value)
                throws MessagingException
        Add this value to the existing values for this header_name.
        Parameters:
        header_name - the name of this header
        header_value - the value for this header
        Throws:
        MessagingException
        IllegalWriteException - if the underlying implementation does not support modification of existing values
        IllegalStateException - if this Part is obtained from a READ_ONLY folder

Deutsche Übersetzung

Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.

Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.

Vielen Dank im Voraus.

Dokument erstellt 11/06/2005, zuletzt geändert 18/08/2025
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/java-api-javaee-rf-javax/mail/part.html

Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.

Referenzen

  1. Zeigen Sie - html-Dokument Sprache des Dokuments:fr Manuel PHP : https://docs.oracle.com

Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor dieser Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.