Package com.sun.mail.dsn

## Class DeliveryStatus

- java.lang.Object
- - com.sun.mail.dsn.Report
  - - com.sun.mail.dsn.DeliveryStatus

    public class DeliveryStatus
    extends Report

A message/delivery-status message content, as defined in RFC 3464.

Since:
  JavaMail 1.4

### Field Summary

Fields
`protected InternetHeaders` `messageDSN` The DSN fields for the message.
`protected InternetHeaders[]` `recipientDSN` The DSN fields for each recipient.

### Fields inherited from class com.sun.mail.dsn.Report

`type`

### Constructor Summary

Constructors
`DeliveryStatus​()` Construct a delivery status notification with no content.
`DeliveryStatus​(InputStream is)` Construct a delivery status notification by parsing the supplied input stream.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addRecipientDSN​(InternetHeaders h)` Add deliver status notification information for another recipient.
`InternetHeaders` `getMessageDSN​()` Return all the per-message fields in the delivery status notification.
`InternetHeaders` `getRecipientDSN​(int n)` Return the delivery status notification information for the specified recipient.
`int` `getRecipientDSNCount​()` Return the number of recipients for which we have per-recipient delivery status notification information.
`void` `setMessageDSN​(InternetHeaders messageDSN)` Set the per-message fields in the delivery status notification.
`String` `toString​()`
`void` `writeTo​(OutputStream os)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from class com.sun.mail.dsn.Report

`getType`

### Field Detail

#### messageDSN

    protected InternetHeaders messageDSN

The DSN fields for the message.

#### recipientDSN

    protected InternetHeaders[] recipientDSN

The DSN fields for each recipient.

### Constructor Detail

#### DeliveryStatus

    public DeliveryStatus​()
                   throws MessagingException

Construct a delivery status notification with no content.

Throws:
  `MessagingException` - for failures

#### DeliveryStatus

    public DeliveryStatus​(InputStream is)
                   throws MessagingException,
                          IOException

Construct a delivery status notification by parsing the supplied input stream.

Parameters:
  `is` - the input stream
Throws:
  `IOException` - for I/O errors reading the stream
  `MessagingException` - for other failures

### Method Detail

#### getMessageDSN

    public InternetHeaders getMessageDSN​()

Return all the per-message fields in the delivery status notification. The fields are defined as:

        per-message-fields =
              [ original-envelope-id-field CRLF ]
              reporting-mta-field CRLF
              [ dsn-gateway-field CRLF ]
              [ received-from-mta-field CRLF ]
              [ arrival-date-field CRLF ]
              *( extension-field CRLF )

Returns:
  the per-message DSN fields

#### setMessageDSN

    public void setMessageDSN​(InternetHeaders messageDSN)

Set the per-message fields in the delivery status notification.

Parameters:
  `messageDSN` - the per-message DSN fields

#### getRecipientDSNCount

    public int getRecipientDSNCount​()

Return the number of recipients for which we have per-recipient delivery status notification information.

Returns:
  the number of recipients

#### getRecipientDSN

    public InternetHeaders getRecipientDSN​(int n)

Return the delivery status notification information for the specified recipient.

Parameters:
  `n` - the recipient number
Returns:
  the DSN fields for the recipient

#### addRecipientDSN

    public void addRecipientDSN​(InternetHeaders h)

Add deliver status notification information for another recipient.

Parameters:
  `h` - the DSN fields for the recipient

#### writeTo

    public void writeTo​(OutputStream os)
                 throws IOException

Throws:
  `IOException`

#### toString

    public String toString​()

Overrides:
  `toString` in class `Object`