Top Description Fields Constructors Methods
com.sun.mail.smtp

public Class SMTPMessage

extends MimeMessage
Class Inheritance
Imports
java.io.*, javax.mail.*, javax.mail.internet.*

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.

Author
Bill Shannon
See Also
javax.mail.internet.MimeMessage

Field Summary

Modifier and TypeField and Description
private boolean
private String
private String
public static final int
NOTIFY_DELAY

Notify of delivery delay

public static final int
NOTIFY_FAILURE

Notify of delivery failure

public static final int
NOTIFY_NEVER

Never notify of delivery status

public static final int
NOTIFY_SUCCESS

Notify of delivery success

private int
public static final int
RETURN_FULL

Return full message with delivery status notification

public static final int
RETURN_HDRS

Return only message headers with delivery status notification

private int
private static final String[]
private boolean
private String
Inherited from javax.mail.internet.MimeMessage:
cachedContentcontentcontentStreamdhflagsheadersmodifiedsaved

Constructor Summary

AccessConstructor and Description
public
SMTPMessage(Session
the Session
session
)

Default constructor.

public
SMTPMessage(Session
Session object for this message
session
,
InputStream
the message input stream
is
)

Constructs an SMTPMessage by reading and parsing the data from the specified MIME InputStream.

public
SMTPMessage(MimeMessage
the message to copy content from
source
)

Constructs a new SMTPMessage with content initialized from the source MimeMessage.

Method Summary

Modifier and TypeMethod and Description
public boolean

Returns:

allow 8-bit flag
getAllow8bitMIME
()

Is use of the 8BITMIME extension is allowed?

pack-priv String
getDSNNotify()

Return notification options as an RFC 1891 string.

pack-priv String
getDSNRet()

Return return option as an RFC 1891 string.

public String

Returns:

the envelope From address, or null if not set
getEnvelopeFrom
()

Return the envelope From address.

public String

Returns:

the extension string
getMailExtension
()

Gets the extension string to use with the MAIL command.

public int

Returns:

notification options
getNotifyOptions
()

Get notification options.

public int

Returns:

return option
getReturnOption
()

Return return option.

public boolean

Returns:

send partial flag
getSendPartial
()

Send message if some addresses are invalid?

public String

Returns:

the name of the submitter.
getSubmitter
()

Gets the submitter to be used for the RFC 2554 AUTH= value in the MAIL FROM command.

public void
setAllow8bitMIME(boolean
allow 8-bit flag
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.

public void
setEnvelopeFrom(String
the envelope From address
from
)

Set the From address to appear in the SMTP envelope.

public void
setMailExtension(String
the extension string
extension
)

Set the extension string to use with the MAIL command.

public void
setNotifyOptions(int
notification options
options
)

Set notification options to be used if the server supports Delivery Status Notification (RFC 1891).

public void
setReturnOption(int
return option
option
)

Set return option to be used if server supports Delivery Status Notification (RFC 1891).

public void
setSendPartial(boolean
send partial flag
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.

public void
setSubmitter(String
the name of the submitter
submitter
)

Sets the submitter to be used for the RFC 2554 AUTH= value in the MAIL FROM command.

Inherited from javax.mail.internet.MimeMessage:
addFromaddHeaderaddHeaderLineaddRecipientsaddRecipientscreateInternetHeaderscreateMimeMessagegetAllHeaderLinesgetAllHeadersgetAllRecipientsgetContentgetContentIDgetContentLanguagegetContentMD5getContentStreamgetContentTypegetDataHandlergetDescriptiongetDispositiongetEncodinggetFileNamegetFlagsgetFromgetHeadergetHeadergetInputStreamgetLineCountgetMatchingHeaderLinesgetMatchingHeadersgetMessageIDgetNonMatchingHeaderLinesgetNonMatchingHeadersgetRawInputStreamgetReceivedDategetRecipientsgetReplyTogetSendergetSentDategetSizegetSubjectisMimeTypeisSetparseremoveHeaderreplyreplysaveChangessetContentsetContentsetContentIDsetContentLanguagesetContentMD5setDataHandlersetDescriptionsetDescriptionsetDispositionsetFileNamesetFlagssetFromsetFromsetFromsetHeadersetRecipientssetRecipientssetReplyTosetSendersetSentDatesetSubjectsetSubjectsetTextsetTextsetTextupdateHeadersupdateMessageIDwriteTowriteTo

Field Detail

allow8bitMIMEback to summary
private boolean allow8bitMIME
envelopeFromback to summary
private String envelopeFrom
extensionback to summary
private String extension
NOTIFY_DELAYback to summary
public static final int NOTIFY_DELAY

Notify of delivery delay

NOTIFY_FAILUREback to summary
public static final int NOTIFY_FAILURE

Notify of delivery failure

NOTIFY_NEVERback to summary
public static final int NOTIFY_NEVER

Never notify of delivery status

NOTIFY_SUCCESSback to summary
public static final int NOTIFY_SUCCESS

Notify of delivery success

notifyOptionsback to summary
private int notifyOptions
RETURN_FULLback to summary
public static final int RETURN_FULL

Return full message with delivery status notification

RETURN_HDRSback to summary
public static final int RETURN_HDRS

Return only message headers with delivery status notification

returnOptionback to summary
private int returnOption
returnOptionStringback to summary
private static final String[] returnOptionString
sendPartialback to summary
private boolean sendPartial
submitterback to summary
private String submitter

Constructor Detail

SMTPMessageback to summary
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.

Parameters
session:Session

the Session

SMTPMessageback to summary
public SMTPMessage(Session session, 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

Session object for this message

is:InputStream

the message input stream

Exceptions
MessagingException:
for failures
SMTPMessageback to summary
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:MimeMessage

the message to copy content from

Exceptions
MessagingException:
for failures

Method Detail

getAllow8bitMIMEback to summary
public boolean getAllow8bitMIME()

Is use of the 8BITMIME extension is allowed?

Returns:boolean

allow 8-bit flag

getDSNNotifyback to summary
pack-priv String getDSNNotify()

Return notification options as an RFC 1891 string. Returns null if no options set.

getDSNRetback to summary
pack-priv String getDSNRet()

Return return option as an RFC 1891 string. Returns null if no option set.

getEnvelopeFromback to summary
public String getEnvelopeFrom()

Return the envelope From address.

Returns:String

the envelope From address, or null if not set

getMailExtensionback to summary
public String getMailExtension()

Gets the extension string to use with the MAIL command.

Returns:String

the extension string

Since
JavaMail 1.3.2
getNotifyOptionsback to summary
public int getNotifyOptions()

Get notification options. Returns zero if no options set.

Returns:int

notification options

getReturnOptionback to summary
public int getReturnOption()

Return return option. Returns zero if no option set.

Returns:int

return option

getSendPartialback to summary
public boolean getSendPartial()

Send message if some addresses are invalid?

Returns:boolean

send partial flag

getSubmitterback to summary
public String getSubmitter()

Gets the submitter to be used for the RFC 2554 AUTH= value in the MAIL FROM command.

Returns:String

the name of the submitter.

setAllow8bitMIMEback to summary
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:boolean

allow 8-bit flag

setEnvelopeFromback to summary
public void setEnvelopeFrom(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:String

the envelope From address

setMailExtensionback to summary
public void setMailExtension(String extension)

Set the extension string to use with the MAIL command. The extension string can be used to specify standard SMTP service extensions as well as vendor-specific extensions. Typically the application should use the SMTPTransport method supportsExtension to verify that the server supports the desired service extension. See RFC 1869 and other RFCs that define specific extensions.

For example:

if (smtpTransport.supportsExtension("DELIVERBY"))
   smtpMsg.setMailExtension("BY=60;R");
Parameters
extension:String

the extension string

Since
JavaMail 1.3.2
setNotifyOptionsback to summary
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:int

notification options

setReturnOptionback to summary
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:int

return option

setSendPartialback to summary
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:boolean

send partial flag

setSubmitterback to summary
public void setSubmitter(String submitter)

Sets the submitter to be used for the RFC 2554 AUTH= value in the MAIL FROM command. Normally only used by a server that's relaying a message. Clients will typically not set a submitter. See RFC 2554 for details.

Parameters
submitter:String

the name of the submitter