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
Modifier and Type
Field
Description
`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
Constructor
Description
`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

Modifier and Type
Method
Description
`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 com.sun.mail.dsn.Report

`getType`

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

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

## Field Details

### messageDSN

protected InternetHeaders messageDSN
The DSN fields for the message.

### recipientDSN

protected InternetHeaders[] recipientDSN
The DSN fields for each recipient.

## Constructor Details

### 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 Details

### 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`