|
![]() |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--ipworks.Smtp
The SMTP control is used to send Internet mail using the SMTP protocol (the Internet mail standard).
The SMTP control implements a standard SMTP client as specified in RFC 821.
It has a simple plug-and-play interface. It contains a number
of properties like SendTo
, Subject
, From
, Cc
, BCc
, etc. that
map directly to the internet mail message headers with the same name (RFC 822).
The message text is set in MessageText
and/or AttachedFile
. Messages
are sent by calling the Send
method or setting the Action
property to
'Send Message'.
The control supports message delivery to multiple recipients through the SendTo
, Cc
, and BCc
properties. Simply specify the destination email
addresses separated by commas.
The interface of the control is open-ended. New features, including MIME
attachments can be supported by using the OtherHeaders
property.
A number of events provide feedback during the operation of the
control. The Transfer
event is fired during message delivery to show
the number of bytes delivered. The PITrail
event
traces the commands that are sent to the
server and the respective replies.
Field Summary | |
static int |
fwNone
|
static int |
fwSOCKS4
|
static int |
fwSOCKS5
|
static int |
fwTunnel
|
static int |
smtpConnect
|
static int |
smtpDisconnect
|
static int |
smtpExpand
|
static int |
smtpIdle
|
static int |
smtpResetHeaders
|
static int |
smtpSend
|
static int |
smtpSendToTerminalAndEmail
|
static int |
smtpSendToTerminalOnly
|
static int |
smtpSendToTerminalOrEmail
|
static int |
smtpVerify
|
Constructor Summary | |
Smtp()
|
Method Summary | |
void |
addSmtpEventListener(SmtpEventListener l)
|
void |
connect()
Connects to the mail relay and sends the SMTP HELO command. |
void |
disconnect()
Disconnect from the SMTP server. |
void |
expand(java.lang.String emailAddress)
Asks the MailServer to expand a name or mailing list. |
void |
fireEndTransfer()
Fired when the message text completes transferring. |
void |
fireError(int errorCode,
java.lang.String description)
Information about errors during data delivery. |
void |
fireExpand(java.lang.String address)
Fired for every email address returned by the server when Action is set to Expand . |
void |
firePITrail(int direction,
java.lang.String message)
Traces the commands sent to the mail server, and the respective replies. |
void |
fireStartTransfer()
Fired when the message text starts transferring. |
void |
fireTransfer(int bytesTransferred)
Fired while the message text gets transferred to MailServer . |
int |
getAction()
An action code for the component. |
java.lang.String |
getAttachedFile()
A file to append to MessageText when sending mail. |
java.lang.String |
getBCc()
A comma separated list of addresses for blind carbon copies (optional). |
java.lang.String |
getCc()
A comma separated list of addresses for carbon copies (optional). |
java.lang.String |
getDate()
The Date of the mail message (optional). |
byte[] |
getFirewallData()
Used to send other data to firewall. |
java.lang.String |
getFirewallHost()
Name or IP address of firewall (optional). |
java.lang.String |
getFirewallPassword()
A password if authentication is to be used connecting through the firewall. |
int |
getFirewallPort()
Port of the firewall to connect to. |
int |
getFirewallType()
Determines the type of firewall to connect through. |
java.lang.String |
getFirewallUser()
A user name if authentication is to be used connecting through a firewall. |
java.lang.String |
getFrom()
The email address of the sender (required). |
java.lang.String |
getHello()
The argument for HELO (herald) command to the server (defaults to local host name). |
java.lang.String |
getLastReply()
The last reply from the server. |
java.lang.String |
getLocalHost()
The name of the local host or user-assigned IP interface through which connections are initiated or accepted. |
int |
getMailPort()
The server port for SMTP (default 25). |
java.lang.String |
getMailServer()
The name or address of a mail server (mail relay). |
int |
getMaxHeaderLength()
Maximum length for headers to avoid line folding (default 80). |
java.lang.String |
getMessageDate()
The Date of the mail message (optional). |
java.lang.String |
getMessageText()
The full text of the message to send (without headers). |
java.lang.String |
getOtherHeaders()
An RFC 822 compliant string consisting of extra headers. |
java.lang.String |
getPassword()
A login password to login with in the MailServer . |
java.lang.String |
getReplyTo()
A mail address to reply to (optional). |
java.lang.String |
getSendTo()
A comma separated list of addresses for destinations (required). |
java.lang.String |
getSubject()
The subject of the mail message (optional). |
int |
getTimeout()
A timeout for the component. |
java.lang.String |
getUser()
A user id to login as in the MailServer . |
void |
interrupt()
Interrupt the Action in progress (if any). |
boolean |
isAllowExtensions()
A switch allowing the component to use ESMTP features (SMTP extensions). |
boolean |
isConnected()
Shows whether the component is connected. |
void |
removeSmtpEventListener(SmtpEventListener l)
|
void |
resetHeaders()
Resets all the message headers to empty. |
void |
send()
Send the current message. |
void |
sendToTerminalAndEmail()
Send to terminal and email. |
void |
sendToTerminalOnly()
Send to terminal only. |
void |
sendToTerminalOrEmail()
Send to terminal or email. |
void |
setAction(int action)
An action code for the component. |
void |
setAllowExtensions(boolean allowExtensions)
A switch allowing the component to use ESMTP features (SMTP extensions). |
void |
setAttachedFile(java.lang.String attachedFile)
A file to append to MessageText when sending mail. |
void |
setBCc(java.lang.String BCc)
A comma separated list of addresses for blind carbon copies (optional). |
void |
setCc(java.lang.String cc)
A comma separated list of addresses for carbon copies (optional). |
void |
setCommand(java.lang.String command)
Can be used to send additional commands directly to the SMTP server. |
void |
setDate(java.lang.String date)
The Date of the mail message (optional). |
void |
setFirewallData(byte[] firewallData)
Used to send other data to firewall. |
void |
setFirewallHost(java.lang.String firewallHost)
Name or IP address of firewall (optional). |
void |
setFirewallPassword(java.lang.String firewallPassword)
A password if authentication is to be used connecting through the firewall. |
void |
setFirewallPort(int firewallPort)
Port of the firewall to connect to. |
void |
setFirewallType(int firewallType)
Determines the type of firewall to connect through. |
void |
setFirewallUser(java.lang.String firewallUser)
A user name if authentication is to be used connecting through a firewall. |
void |
setFrom(java.lang.String from)
The email address of the sender (required). |
void |
setHello(java.lang.String hello)
The argument for HELO (herald) command to the server (defaults to local host name). |
void |
setLocalHost(java.lang.String localHost)
The name of the local host or user-assigned IP interface through which connections are initiated or accepted. |
void |
setMailPort(int mailPort)
The server port for SMTP (default 25). |
void |
setMailServer(java.lang.String mailServer)
The name or address of a mail server (mail relay). |
void |
setMaxHeaderLength(int maxHeaderLength)
Maximum length for headers to avoid line folding (default 80). |
void |
setMessageDate(java.lang.String messageDate)
The Date of the mail message (optional). |
void |
setMessageText(java.lang.String messageText)
The full text of the message to send (without headers). |
void |
setOtherHeaders(java.lang.String otherHeaders)
An RFC 822 compliant string consisting of extra headers. |
void |
setPassword(java.lang.String password)
A login password to login with in the MailServer . |
void |
setReplyTo(java.lang.String replyTo)
A mail address to reply to (optional). |
void |
setSendTo(java.lang.String sendTo)
A comma separated list of addresses for destinations (required). |
void |
setSubject(java.lang.String subject)
The subject of the mail message (optional). |
void |
setTimeout(int timeout)
A timeout for the component. |
void |
setUser(java.lang.String user)
A user id to login as in the MailServer . |
void |
verify(java.lang.String emailAddress)
Send a Verify request to the SMTP server. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int smtpIdle
public static final int smtpConnect
public static final int smtpDisconnect
public static final int smtpSend
public static final int smtpResetHeaders
public static final int smtpExpand
public static final int smtpVerify
public static final int smtpSendToTerminalAndEmail
public static final int smtpSendToTerminalOrEmail
public static final int smtpSendToTerminalOnly
public static final int fwNone
public static final int fwTunnel
public static final int fwSOCKS4
public static final int fwSOCKS5
Constructor Detail |
public Smtp()
Method Detail |
public int getAction()
Action
property to a valid action code makes
the control perform the associated action. If the action completes
successfully, execution continues normally, and Action
is
reset to 0 (Idle). If an error happens, then
an IPWorksException exception is raised.
The following are the possible values for the Action
property
and the corresponding descriptions:
MailServer
to expand the name or mailing list given in the
[ SendTo
property. The resulting response is provided in
one or more Expand
events (one for each address).
The control will try to connect to the mail relay if it is not already connected.
MailServer
to verify the address in the SendTo
property. In case of success SendTo
will then
hold the verified email address. The
control will try to connect to the mail relay if it is not already connected.
AllowExtensions
is set to True and is not supported by all
mail relays.
AllowExtensions
is set to True and is not supported by all
mail relays.
AllowExtensions
is set to True and is not supported by all
mail relays.
public void setAction(int action) throws IPWorksException
Action
property to a valid action code makes
the control perform the associated action. If the action completes
successfully, execution continues normally, and Action
is
reset to 0 (Idle). If an error happens, then
an IPWorksException exception is raised.
The following are the possible values for the Action
property
and the corresponding descriptions:
MailServer
to expand the name or mailing list given in the
[ SendTo
property. The resulting response is provided in
one or more Expand
events (one for each address).
The control will try to connect to the mail relay if it is not already connected.
MailServer
to verify the address in the SendTo
property. In case of success SendTo
will then
hold the verified email address. The
control will try to connect to the mail relay if it is not already connected.
AllowExtensions
is set to True and is not supported by all
mail relays.
AllowExtensions
is set to True and is not supported by all
mail relays.
AllowExtensions
is set to True and is not supported by all
mail relays.
public boolean isAllowExtensions()
AllowExtensions
is true, the control will first send the
EHLO greeting to the server and, if that fails, the standard HELO command
will be sent.
The property is true by default but may be disabled
if it's known in advance that the MailServer
doesn't
support SMTP extensions.
public void setAllowExtensions(boolean allowExtensions) throws IPWorksException
AllowExtensions
is true, the control will first send the
EHLO greeting to the server and, if that fails, the standard HELO command
will be sent.
The property is true by default but may be disabled
if it's known in advance that the MailServer
doesn't
support SMTP extensions.
public java.lang.String getAttachedFile()
AttachedFile
is appended to the text
in MessageText
(if any) and sent to the mail relay.
This property is useful for sending arbitrarily large
messages and/or sending MIME attachments.
It is advisable that the text contained in the file be a collection of lines with lengths less than or equal to 80 bytes separated by CRLF ("\\r\\n") . The text in the message lines must contain 7-bit characters so that the message can be successfully pass through the multitude of mail systems on the Internet.
The control automatically escapes lines that start with a "." by adding another as specified in RFC 822. The message text is unescaped by the receiving agent, so the process is fully transparent.
public void setAttachedFile(java.lang.String attachedFile) throws IPWorksException
AttachedFile
is appended to the text
in MessageText
(if any) and sent to the mail relay.
This property is useful for sending arbitrarily large
messages and/or sending MIME attachments.
It is advisable that the text contained in the file be a collection of lines with lengths less than or equal to 80 bytes separated by CRLF ("\\r\\n") . The text in the message lines must contain 7-bit characters so that the message can be successfully pass through the multitude of mail systems on the Internet.
The control automatically escapes lines that start with a "." by adding another as specified in RFC 822. The message text is unescaped by the receiving agent, so the process is fully transparent.
public java.lang.String getBCc()
BCc
property specifies a comma separated list of destinations
where to send blind carbon copies of the mail message. A copy of the message
is sent to each destination, but no BCc SMTP header is created
containing the destination addresses, so individual recipients never
see the list of the other recipients.
The control will return an error if the MailServer
returns an error code
about any email address specified in SendTo
or Cc
but it will only fire an Error
event
if the same happens
with an email address specified in BCc
.
If the resulting BCc header is longer than MaxHeaderLength
,
then it is folded according to RFC 822 specifications.
public void setBCc(java.lang.String BCc) throws IPWorksException
BCc
property specifies a comma separated list of destinations
where to send blind carbon copies of the mail message. A copy of the message
is sent to each destination, but no BCc SMTP header is created
containing the destination addresses, so individual recipients never
see the list of the other recipients.
The control will return an error if the MailServer
returns an error code
about any email address specified in SendTo
or Cc
but it will only fire an Error
event
if the same happens
with an email address specified in BCc
.
If the resulting BCc header is longer than MaxHeaderLength
,
then it is folded according to RFC 822 specifications.
public java.lang.String getCc()
Cc
property specifies a comma separated list of destinations
where to send carbon copies of the mail message. A copy of the message
is sent to each destination, and a Cc SMTP header is created
containing the destination addresses. This header is sent to every
recipient of the message. If you don't want to copy this information
to every recipient, then use blind carbon copies instead (see the
description of the BCc
).
The control will return an error if the MailServer
returns an error code
about any email address specified in SendTo
or Cc
but it will only fire an Error
event
if the same happens
with an email address specified in BCc
.
If the resulting Cc header is longer than MaxHeaderLength
,
then it is folded according to RFC 822 specifications.
public void setCc(java.lang.String cc) throws IPWorksException
Cc
property specifies a comma separated list of destinations
where to send carbon copies of the mail message. A copy of the message
is sent to each destination, and a Cc SMTP header is created
containing the destination addresses. This header is sent to every
recipient of the message. If you don't want to copy this information
to every recipient, then use blind carbon copies instead (see the
description of the BCc
).
The control will return an error if the MailServer
returns an error code
about any email address specified in SendTo
or Cc
but it will only fire an Error
event
if the same happens
with an email address specified in BCc
.
If the resulting Cc header is longer than MaxHeaderLength
,
then it is folded according to RFC 822 specifications.
public void setCommand(java.lang.String command) throws IPWorksException
LastReply
property and/or trap the PITrail
events
comming from the server to get the response.
public boolean isConnected()
public java.lang.String getDate()
Date
property contains a non-empty string,
then a Date SMTP header is created and attached
to the message. If not, then the date information is
added by the mail relay(s) the message goes through.
If the resulting Date header is longer than MaxHeaderLength
, then it is folded according to RFC 822
specifications.
RFC 822 contains detailed date format specifications. An example of a valid date is "Fri, 1 Mar 96 21:24:52 EST".
public void setDate(java.lang.String date) throws IPWorksException
Date
property contains a non-empty string,
then a Date SMTP header is created and attached
to the message. If not, then the date information is
added by the mail relay(s) the message goes through.
If the resulting Date header is longer than MaxHeaderLength
, then it is folded according to RFC 822
specifications.
RFC 822 contains detailed date format specifications. An example of a valid date is "Fri, 1 Mar 96 21:24:52 EST".
public byte[] getFirewallData()
public void setFirewallData(byte[] firewallData) throws IPWorksException
public java.lang.String getFirewallHost()
FirewallHost
is given, requested connections will be
authenticated through the specified firewall when connecting.
If the FirewallHost
property is set to a Domain Name, a DNS request
is initiated and upon successful termination of the request, the FirewallHost
property is set to the corresponding address. If the
search is not successful, an error is returned.
public void setFirewallHost(java.lang.String firewallHost) throws IPWorksException
FirewallHost
is given, requested connections will be
authenticated through the specified firewall when connecting.
If the FirewallHost
property is set to a Domain Name, a DNS request
is initiated and upon successful termination of the request, the FirewallHost
property is set to the corresponding address. If the
search is not successful, an error is returned.
public java.lang.String getFirewallPassword()
FirewallHost
is specified, the FirewallUser
and FirewallPassword
properties are used to connect and authenticate
to the given firewall. If the authentication fails, a trappable error is fired.
public void setFirewallPassword(java.lang.String firewallPassword) throws IPWorksException
FirewallHost
is specified, the FirewallUser
and FirewallPassword
properties are used to connect and authenticate
to the given firewall. If the authentication fails, a trappable error is fired.
public int getFirewallPort()
FirewallHost
. See the
description of the FirewallHost
property for
details.
Note that the FirewallPort
is set automatically
when FirewallType
is set to a valid value. See the
description of the FirewallType
property for
details.
public void setFirewallPort(int firewallPort) throws IPWorksException
FirewallHost
. See the
description of the FirewallHost
property for
details.
Note that the FirewallPort
is set automatically
when FirewallType
is set to a valid value. See the
description of the FirewallType
property for
details.
public int getFirewallType()
FirewallPort
is set to 80.
FirewallPort
is set to 1080.
FirewallPort
is set to 1080.
public void setFirewallType(int firewallType) throws IPWorksException
FirewallPort
is set to 80.
FirewallPort
is set to 1080.
FirewallPort
is set to 1080.
public java.lang.String getFirewallUser()
FirewallHost
is specified, the FirewallUser
and FirewallPassword
properties are used to connect and authenticate
to the given firewall. If the authentication fails, a trappable error is fired.
public void setFirewallUser(java.lang.String firewallUser) throws IPWorksException
FirewallHost
is specified, the FirewallUser
and FirewallPassword
properties are used to connect and authenticate
to the given firewall. If the authentication fails, a trappable error is fired.
public java.lang.String getFrom()
From
property is used to create a From SMTP
header. This header identifies the sender of the message.
A valid email address is required. Examples of valid
addresses are: "Your Name" or address@company.com
If the resulting From header is longer than MaxHeaderLength
,
then it is folded according to RFC 822 specifications.
public void setFrom(java.lang.String from) throws IPWorksException
From
property is used to create a From SMTP
header. This header identifies the sender of the message.
A valid email address is required. Examples of valid
addresses are: "Your Name" or address@company.com
If the resulting From header is longer than MaxHeaderLength
,
then it is folded according to RFC 822 specifications.
public java.lang.String getHello()
Hello
property specifies a string to send to the MailServer
at connection time as an argument to the SMTP HELO command. This
generally identifies the host sending mail, and that's why the Hello
property defaults to the name of the local host. The property is provided
in case the control does not accept the default value and a custom
value (such as, for example, a fully qualified domain name) must be sent.
If AllowExtensions
is true the EHLO command will be sent
instead of the HELO command.
public void setHello(java.lang.String hello) throws IPWorksException
Hello
property specifies a string to send to the MailServer
at connection time as an argument to the SMTP HELO command. This
generally identifies the host sending mail, and that's why the Hello
property defaults to the name of the local host. The property is provided
in case the control does not accept the default value and a custom
value (such as, for example, a fully qualified domain name) must be sent.
If AllowExtensions
is true the EHLO command will be sent
instead of the HELO command.
public java.lang.String getLastReply()
PITrail
event.
public java.lang.String getLocalHost()
LocalHost
property contains the name of the local host
as obtained by the gethostname() Winsock call, or if the
user has assigned an IP address, the value of that address.
In multihomed hosts (machines with more than one IP interface) setting LocalHost to the value of an interface will make the control initiate connections (or accept in the case of server controls) only through that interface.
If the control is connected, the LocalHost
property shows
the IP address of the interface through which the connection
is made in internet dotted format (aaa.bbb.ccc.ddd). In most
cases, this is the address of the local host, except for multihomed
hosts (machines with more than one IP interface).
NOTE: LocalHost
is not persistent. You must always set it in
code, and never in the property window.
public void setLocalHost(java.lang.String localHost) throws IPWorksException
LocalHost
property contains the name of the local host
as obtained by the gethostname() Winsock call, or if the
user has assigned an IP address, the value of that address.
In multihomed hosts (machines with more than one IP interface) setting LocalHost to the value of an interface will make the control initiate connections (or accept in the case of server controls) only through that interface.
If the control is connected, the LocalHost
property shows
the IP address of the interface through which the connection
is made in internet dotted format (aaa.bbb.ccc.ddd). In most
cases, this is the address of the local host, except for multihomed
hosts (machines with more than one IP interface).
NOTE: LocalHost
is not persistent. You must always set it in
code, and never in the property window.
public int getMailPort()
MailPort
while
connected will fail with an error.
public void setMailPort(int mailPort) throws IPWorksException
MailPort
while
connected will fail with an error.
public java.lang.String getMailServer()
MailServer
property specifies the IP address (IP number in
dotted internet format) or Domain Name for a mail relay through
which messages will be routed. It is set before a connection is
attempted and cannot be changed once a connection is in progress.
The current version of the control does not provide a default
value for the mail relay. You must provide a host name yourself.
Generally, any internet host with an SMTP server will suffice
(a UNIX host for example), but it is preferable to select a MailServer
that is close to the machine sending mail.
If the MailServer
property is set to a Domain Name, a DNS request
is initiated and upon successful termination of the request, the MailServer
property is set to the corresponding address. If the
search is not successful, an error is returned.
public void setMailServer(java.lang.String mailServer) throws IPWorksException
MailServer
property specifies the IP address (IP number in
dotted internet format) or Domain Name for a mail relay through
which messages will be routed. It is set before a connection is
attempted and cannot be changed once a connection is in progress.
The current version of the control does not provide a default
value for the mail relay. You must provide a host name yourself.
Generally, any internet host with an SMTP server will suffice
(a UNIX host for example), but it is preferable to select a MailServer
that is close to the machine sending mail.
If the MailServer
property is set to a Domain Name, a DNS request
is initiated and upon successful termination of the request, the MailServer
property is set to the corresponding address. If the
search is not successful, an error is returned.
public int getMaxHeaderLength()
MaxHeaderLength
specifies the maximum line length
supported by the mail delivery system. Any headers longer
than MaxHeaderLength
are folded as specified in RFC 822.
It is generally a good idea to use a MaxHeaderLength
of less than 100 bytes, although different mail relays and
mail servers have different requirements for header lengths.
public void setMaxHeaderLength(int maxHeaderLength) throws IPWorksException
MaxHeaderLength
specifies the maximum line length
supported by the mail delivery system. Any headers longer
than MaxHeaderLength
are folded as specified in RFC 822.
It is generally a good idea to use a MaxHeaderLength
of less than 100 bytes, although different mail relays and
mail servers have different requirements for header lengths.
public java.lang.String getMessageDate()
MessageDate
property contains a non-empty string,
then a Date SMTP header is created and attached
to the message. If not, then the date information is
added by the mail relay(s) the message goes through.
If the resulting Date header is longer than MaxHeaderLength
, then it is folded according to RFC 822
specifications.
RFC 822 contains detailed date format specifications. An example of a valid date is "Fri, 1 Mar 96 21:24:52 EST".
public void setMessageDate(java.lang.String messageDate) throws IPWorksException
MessageDate
property contains a non-empty string,
then a Date SMTP header is created and attached
to the message. If not, then the date information is
added by the mail relay(s) the message goes through.
If the resulting Date header is longer than MaxHeaderLength
, then it is folded according to RFC 822
specifications.
RFC 822 contains detailed date format specifications. An example of a valid date is "Fri, 1 Mar 96 21:24:52 EST".
public java.lang.String getMessageText()
MessageText
property contains the full text of
the message.
It is advisable that the text contained in this property be a collection of lines with lengths less than or equal to 80 bytes separated by CRLF ("\\r\\n") . The text in the message lines must contain 7-bit characters so that the message can be successfully pass through the multitude of mail systems on the Internet.
The control automatically escapes lines that start with a "." by adding another as specified in RFC 822. The message text is unescaped by the receiving agent, so the process is fully transparent.
public void setMessageText(java.lang.String messageText) throws IPWorksException
MessageText
property contains the full text of
the message.
It is advisable that the text contained in this property be a collection of lines with lengths less than or equal to 80 bytes separated by CRLF ("\\r\\n") . The text in the message lines must contain 7-bit characters so that the message can be successfully pass through the multitude of mail systems on the Internet.
The control automatically escapes lines that start with a "." by adding another as specified in RFC 822. The message text is unescaped by the receiving agent, so the process is fully transparent.
public java.lang.String getOtherHeaders()
OtherHeaders
property contains a string of headers
to be appended to the message headers created from other
properties like SendTo
, Subject
, etc.
The headers must of the format "header: value" as specified in RFC 822. Header lines should be separated by CRLF ("\\r\\n").
Use this property with caution. If OtherHeaders
contains
invalid headers, message delivery might not be successful.
The OtherHeaders
property is useful for extending the
functionality of the control. A good example is delivery
of MIME encoded messages.
SPECIAL CASE: if OtherHeaders
starts with an empty line (CRLF),
then the value of OtherHeaders
is used instead of the normally
computed message headers.
public void setOtherHeaders(java.lang.String otherHeaders) throws IPWorksException
OtherHeaders
property contains a string of headers
to be appended to the message headers created from other
properties like SendTo
, Subject
, etc.
The headers must of the format "header: value" as specified in RFC 822. Header lines should be separated by CRLF ("\\r\\n").
Use this property with caution. If OtherHeaders
contains
invalid headers, message delivery might not be successful.
The OtherHeaders
property is useful for extending the
functionality of the control. A good example is delivery
of MIME encoded messages.
SPECIAL CASE: if OtherHeaders
starts with an empty line (CRLF),
then the value of OtherHeaders
is used instead of the normally
computed message headers.
public java.lang.String getPassword()
Password
property is set to a non-empty string,
then when connecting to the MailServer
an AUTH
command is sent in order to provide authentication
information for the user.
public void setPassword(java.lang.String password) throws IPWorksException
Password
property is set to a non-empty string,
then when connecting to the MailServer
an AUTH
command is sent in order to provide authentication
information for the user.
public java.lang.String getReplyTo()
ReplyTo
property contains a non-empty string,
a Reply-To SMTP header is created for the message.
This header shows the address to use for replies (useful
if this address is different from the one in From
).
If the resulting Reply-To header is longer than MaxHeaderLength
, then it is folded according to RFC 822
specifications.
public void setReplyTo(java.lang.String replyTo) throws IPWorksException
ReplyTo
property contains a non-empty string,
a Reply-To SMTP header is created for the message.
This header shows the address to use for replies (useful
if this address is different from the one in From
).
If the resulting Reply-To header is longer than MaxHeaderLength
, then it is folded according to RFC 822
specifications.
public java.lang.String getSendTo()
SendTo
property specifies a comma separated list of destinations
for the mail message. A copy of the message is sent to each of them,
and a To SMTP header is created containing the destination addresses.
The control will fail if the MailServer
returns an error code
about any email address specified in SendTo or Cc
but it
will silently ignore the error if the same happens
with an email address specified in BCc
.
If the resulting To header is longer than MaxHeaderLength
,
then it is folded according to RFC 822 specifications.
public void setSendTo(java.lang.String sendTo) throws IPWorksException
SendTo
property specifies a comma separated list of destinations
for the mail message. A copy of the message is sent to each of them,
and a To SMTP header is created containing the destination addresses.
The control will fail if the MailServer
returns an error code
about any email address specified in SendTo or Cc
but it
will silently ignore the error if the same happens
with an email address specified in BCc
.
If the resulting To header is longer than MaxHeaderLength
,
then it is folded according to RFC 822 specifications.
public java.lang.String getSubject()
Subject
is sent with a Subject SMTP header to the mail recipient.
If the resulting Subject header is longer than MaxHeaderLength
, then it is folded according to
RFC 822 specifications.
public void setSubject(java.lang.String subject) throws IPWorksException
Subject
is sent with a Subject SMTP header to the mail recipient.
If the resulting Subject header is longer than MaxHeaderLength
, then it is folded according to
RFC 822 specifications.
public int getTimeout()
Timeout
property is set to 0 (default value) all actions
will run uninterrupted until succesful completion, or an error condition
is encountered.
If Timeout
is set to a positive value, and any action does not
complete within Timeout
seconds, the action is aborted, and a 'Timeout' error is fired..
The control will use DoEvents
to enter an efficient wait loop
during any potential waiting period, making sure that all system events
are processed immediately as they arrive. This ensures that the host
application does not "freeze" and always remains responsive.
public void setTimeout(int timeout) throws IPWorksException
Timeout
property is set to 0 (default value) all actions
will run uninterrupted until succesful completion, or an error condition
is encountered.
If Timeout
is set to a positive value, and any action does not
complete within Timeout
seconds, the action is aborted, and a 'Timeout' error is fired..
The control will use DoEvents
to enter an efficient wait loop
during any potential waiting period, making sure that all system events
are processed immediately as they arrive. This ensures that the host
application does not "freeze" and always remains responsive.
public java.lang.String getUser()
User
property is set to a non-empty string,
then when connecting to the MailServer
an AUTH
command is sent in order to provide authentication
information for the user.
public void setUser(java.lang.String user) throws IPWorksException
User
property is set to a non-empty string,
then when connecting to the MailServer
an AUTH
command is sent in order to provide authentication
information for the user.
public void fireEndTransfer()
SmtpEndTransferEvent
public void fireError(int errorCode, java.lang.String description)
SmtpErrorEvent
public void fireExpand(java.lang.String address)
SmtpExpandEvent
public void firePITrail(int direction, java.lang.String message)
SmtpPITrailEvent
public void fireStartTransfer()
SmtpStartTransferEvent
public void fireTransfer(int bytesTransferred)
SmtpTransferEvent
public void connect() throws IPWorksException
Calling this method is equivalent to setting the Action
property
to smtpConnect .
public void disconnect() throws IPWorksException
Calling this method is equivalent to setting the Action
property
to smtpDisconnect .
public void expand(java.lang.String emailAddress) throws IPWorksException
Expand
events (one for each address).
The control will try to connect to the mail relay if it is not already connected.
Calling this method is equivalent to setting the Action
property
to smtpExpand .
public void interrupt() throws IPWorksException
Action
property
to Idle (0) .
public void resetHeaders() throws IPWorksException
Calling this method is equivalent to setting the Action
property
to smtpResetHeaders .
public void send() throws IPWorksException
Calling this method is equivalent to setting the Action
property
to smtpSend .
public void sendToTerminalAndEmail() throws IPWorksException
AllowExtensions
is set to True and is not supported by all
mail relays.
Calling this method is equivalent to setting the Action
property
to smtpSendToTerminalAndEmail .
public void sendToTerminalOnly() throws IPWorksException
AllowExtensions
is set to True and is not supported by all
mail relays.
Calling this method is equivalent to setting the Action
property
to smtpSendToTerminalOnly .
public void sendToTerminalOrEmail() throws IPWorksException
AllowExtensions
is set to True and is not supported by all
mail relays.
Calling this method is equivalent to setting the Action
property
to smtpSendToTerminalOrEmail .
public void verify(java.lang.String emailAddress) throws IPWorksException
MailServer
to verify the email address provided in the 'EmailAddress' parameter.
Calling this method is equivalent to setting the Action
property
to smtpVerify .
public void addSmtpEventListener(SmtpEventListener l) throws java.util.TooManyListenersException
public void removeSmtpEventListener(SmtpEventListener l)
|
![]() |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |