Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.sun.mail.smtp
Class SMTPMessage

    java.lang.Object
      |
      +--javax.mail.Message
            |
            +--javax.mail.internet.MimeMessage
                  |
                  +--com.sun.mail.smtp.SMTPMessage

All Implemented Interfaces:
  MimePart, Part

public class SMTPMessage
extends MimeMessage

This class is a specialization of the MimeMessage class that allows you to specify various SMTP options and parameters that will be used when this message is sent over SMTP. Simply use this class instead of MimeMessage and set SMTP options using the methods on this class.

See the com.sun.mail.smtp package documentation for further information on the SMTP protocol provider.

See Also:
  `MimeMessage`

Inner classes inherited from class javax.mail.internet.MimeMessage
`MimeMessage.RecipientType`

Inner classes inherited from class javax.mail.Message
`Message.RecipientType`

Field Summary
`static int` | `NOTIFY_DELAY` Notify of delivery delay
`static int` | `NOTIFY_FAILURE` Notify of delivery failure
`static int` | `NOTIFY_NEVER` Never notify of delivery status
`static int` | `NOTIFY_SUCCESS` Notify of delivery success
`static int` | `RETURN_FULL` Return full message with delivery status notification
`static int` | `RETURN_HDRS` Return only message headers with delivery status notification

Fields inherited from class javax.mail.internet.MimeMessage
`content, contentStream, dh, flags, headers, modified, saved`

Fields inherited from class javax.mail.Message
`expunged, folder, msgnum, session`

Fields inherited from interface javax.mail.Part
`ATTACHMENT, INLINE`

Constructor Summary
`SMTPMessage(MimeMessage source)` Constructs a new SMTPMessage with content initialized from the `source` MimeMessage.
`SMTPMessage(Session session)` Default constructor.
`SMTPMessage(Session session, java.io.InputStream is)` Constructs an SMTPMessage by reading and parsing the data from the specified MIME InputStream.

Method Summary
`boolean` | `getAllow8bitMIME()` Is use of the 8BITMIME extension is allowed?
`java.lang.String` | `getEnvelopeFrom()` Return the envelope From address.
`int` | `getNotifyOptions()` Get notification options.
`int` | `getReturnOption()` Return return option.
`boolean` | `getSendPartial()` Send message if some addresses are invalid?
`void` | `setAllow8bitMIME(boolean allow)` If set to true, and the server supports the 8BITMIME extension, text parts of this message that use the "quoted-printable" or "base64" encodings are converted to use "8bit" encoding if they follow the RFC 2045 rules for 8bit text.
`void` | `setEnvelopeFrom(java.lang.String from)` Set the From address to appear in the SMTP envelope.
`void` | `setNotifyOptions(int options)` Set notification options to be used if the server supports Delivery Status Notification (RFC 1891).
`void` | `setReturnOption(int option)` Set return option to be used if server supports Delivery Status Notification (RFC 1891).
`void` | `setSendPartial(boolean partial)` If set to true, and this message has some valid and some invalid addresses, send the message anyway, reporting the partial failure with a SendFailedException.

Methods inherited from class javax.mail.internet.MimeMessage
`addFrom, addHeader, addHeaderLine, addRecipients, addRecipients, createInternetHeaders, getAllHeaderLines, getAllHeaders, getAllRecipients, getContent, getContentID, getContentLanguage, getContentMD5, getContentStream, getContentType, getDataHandler, getDescription, getDisposition, getEncoding, getFileName, getFlags, getFrom, getHeader, getHeader, getInputStream, getLineCount, getMatchingHeaderLines, getMatchingHeaders, getMessageID, getNonMatchingHeaderLines, getNonMatchingHeaders, getRawInputStream, getReceivedDate, getRecipients, getReplyTo, getSender, getSentDate, getSize, getSubject, isMimeType, isSet, parse, removeHeader, reply, saveChanges, setContent, setContent, setContentID, setContentLanguage, setContentMD5, setDataHandler, setDescription, setDescription, setDisposition, setFileName, setFlags, setFrom, setFrom, setHeader, setRecipients, setRecipients, setReplyTo, setSender, setSentDate, setSubject, setSubject, setText, setText, updateHeaders, writeTo, writeTo`

Methods inherited from class javax.mail.Message
`addRecipient, getFolder, getMessageNumber, isExpunged, match, setExpunged, setFlag, setMessageNumber, setRecipient`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### NOTIFY_NEVER

    public static final int NOTIFY_NEVER

  Never notify of delivery status

### NOTIFY_SUCCESS

    public static final int NOTIFY_SUCCESS

  Notify of delivery success

### NOTIFY_FAILURE

    public static final int NOTIFY_FAILURE

  Notify of delivery failure

### NOTIFY_DELAY

    public static final int NOTIFY_DELAY

  Notify of delivery delay

### RETURN_FULL

    public static final int RETURN_FULL

  Return full message with delivery status notification

### RETURN_HDRS

    public static final int RETURN_HDRS

  Return only message headers with delivery status notification

Constructor Detail

### SMTPMessage

    public SMTPMessage(Session session)

  Default constructor. An empty message object is created. The `headers` field is set to an empty InternetHeaders object. The `flags` field is set to an empty Flags object. The `modified` flag is set to true.

### SMTPMessage

    public SMTPMessage(Session session,
                       java.io.InputStream is)
                throws MessagingException

  Constructs an SMTPMessage by reading and parsing the data from the specified MIME InputStream. The InputStream will be left positioned at the end of the data for the message. Note that the input stream parse is done within this constructor itself.
  Parameters:
    `session` - Session object for this message
    `is` - the message input stream
  Throws:
    `MessagingException` -

### SMTPMessage

    public SMTPMessage(MimeMessage source)
                throws MessagingException

  Constructs a new SMTPMessage with content initialized from the `source` MimeMessage. The new message is independent of the original.

  Note: The current implementation is rather inefficient, copying the data more times than strictly necessary.

  Parameters:
    `source` - the message to copy content from
  Throws:
    `MessagingException` -

Method Detail

### setEnvelopeFrom

    public void setEnvelopeFrom(java.lang.String from)

  Set the From address to appear in the SMTP envelope. Note that this is different than the From address that appears in the message itself. The envelope From address is typically used when reporting errors. See RFC 821 for details.

  If set, overrides the `mail.smtp.from` property.

  Parameters:
    `from` - the envelope From address

### getEnvelopeFrom

    public java.lang.String getEnvelopeFrom()

  Return the envelope From address.
  Returns:
    the envelope From address, or null if not set

### setNotifyOptions

    public void setNotifyOptions(int options)

  Set notification options to be used if the server supports Delivery Status Notification (RFC 1891). Either `NOTIFY_NEVER` or some combination of `NOTIFY_SUCCESS`, `NOTIFY_FAILURE`, and `NOTIFY_DELAY`.

  If set, overrides the `mail.smtp.dsn.notify` property.

  Parameters:
    `options` - notification options

### getNotifyOptions

    public int getNotifyOptions()

  Get notification options. Returns zero if no options set.
  Returns:
    notification options

### setReturnOption

    public void setReturnOption(int option)

  Set return option to be used if server supports Delivery Status Notification (RFC 1891). Either `RETURN_FULL` or `RETURN_HDRS`.

  If set, overrides the `mail.smtp.dsn.ret` property.

  Parameters:
    `option` - return option

### getReturnOption

    public int getReturnOption()

  Return return option. Returns zero if no option set.
  Returns:
    return option

### setAllow8bitMIME

    public void setAllow8bitMIME(boolean allow)

  If set to true, and the server supports the 8BITMIME extension, text parts of this message that use the "quoted-printable" or "base64" encodings are converted to use "8bit" encoding if they follow the RFC 2045 rules for 8bit text.

  If true, overrides the `mail.smtp.allow8bitmime` property.

  Parameters:
    `allow` - allow 8-bit flag

### getAllow8bitMIME

    public boolean getAllow8bitMIME()

  Is use of the 8BITMIME extension is allowed?
  Returns:
    allow 8-bit flag

### setSendPartial

    public void setSendPartial(boolean partial)

  If set to true, and this message has some valid and some invalid addresses, send the message anyway, reporting the partial failure with a SendFailedException. If set to false (the default), the message is not sent to any of the recipients if there is an invalid recipient address.

  If true, overrides the `mail.smtp.sendpartial` property.

  Parameters:
    `partial` - send partial flag

### getSendPartial

    public boolean getSendPartial()

  Send message if some addresses are invalid?
  Returns:
    send partial flag

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD