|
![]() |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--ipworks.Filemailer
The FileMailer control is used to send emails with file attachments.
The control sends a message (provided in MessageText
) and
a total of AttachmentCount
attachments. The attachment
filenames are specified in the Attachments
property.
The recipients are specified by the SendTo
, Cc
, and BCc
properties, and the message subject by the Subject
property.
Once all the appropriate properties have been set call the Send
method and your message will be sent to its intended
recipient(s). Setting the Action
property to filemailerSend is
identical to calling the Send
method.
Other SMTP headers may be specified through the OtherHeaders
property. Information about interaction with the server is
provided via the PITrail
property.
Field Summary | |
static int |
filemailerIdle
|
static int |
filemailerSend
|
static int |
fwNone
|
static int |
fwSOCKS4
|
static int |
fwSOCKS5
|
static int |
fwTunnel
|
Constructor Summary | |
Filemailer()
|
Method Summary | |
void |
addAttachment(java.lang.String fileName)
Adds FileName as an attachment. |
void |
addFilemailerEventListener(FilemailerEventListener l)
|
void |
fireEndTransfer()
Fired when the message text completes transferring. |
void |
fireError(int errorCode,
java.lang.String description)
Information about errors during data delivery. |
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 control. |
int |
getAttachmentCount()
The number of file attachments to the message. |
java.lang.String |
getAttachments(int attachmentIndex)
The paths of files to attach to the message. |
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 |
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 |
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. |
void |
interrupt()
Interrupt the Action in progress (if any). |
void |
removeFilemailerEventListener(FilemailerEventListener l)
|
void |
send()
Send the current message and MIME encoded attachment. |
void |
setAction(int action)
An action code for the control. |
void |
setAttachmentCount(int attachmentCount)
The number of file attachments to the message. |
void |
setAttachments(int attachmentIndex,
java.lang.String attachments)
The paths of files to attach to the message. |
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 |
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 |
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 |
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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int filemailerIdle
public static final int filemailerSend
public static final int fwNone
public static final int fwTunnel
public static final int fwSOCKS4
public static final int fwSOCKS5
Constructor Detail |
public Filemailer()
Method Detail |
public int getAction()
Action
property and the corresponding descriptions:
MailServer
, sends the message in MIME format,
then disconnects from the server.
After a message has been sent successfully, the control then returns to "Idle".
public void setAction(int action) throws IPWorksException
Action
property and the corresponding descriptions:
MailServer
, sends the message in MIME format,
then disconnects from the server.
After a message has been sent successfully, the control then returns to "Idle".
public int getAttachmentCount()
Attachments
array contains the file names for the attachments.
public void setAttachmentCount(int attachmentCount) throws IPWorksException
Attachments
array contains the file names for the attachments.
public java.lang.String getAttachments(int attachmentIndex) throws IPWorksException
The number of attachments is provided by the AttachmentCount
property.
public void setAttachments(int attachmentIndex, java.lang.String attachments) throws IPWorksException
The number of attachments is provided by the AttachmentCount
property.
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 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 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 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 void fireEndTransfer()
FilemailerEndTransferEvent
public void fireError(int errorCode, java.lang.String description)
FilemailerErrorEvent
public void firePITrail(int direction, java.lang.String message)
FilemailerPITrailEvent
public void fireStartTransfer()
FilemailerStartTransferEvent
public void fireTransfer(int bytesTransferred)
FilemailerTransferEvent
public void addAttachment(java.lang.String fileName) throws IPWorksException
Attachments
property contains the full list of attachments.
public void interrupt() throws IPWorksException
Action
property
to Idle (0) .
public void send() throws IPWorksException
MailServer
, sends the message in MIME format,
then disconnects from the server.
Calling this method is equivalent to setting the Action
property
to filemailerSend .
public void addFilemailerEventListener(FilemailerEventListener l) throws java.util.TooManyListenersException
public void removeFilemailerEventListener(FilemailerEventListener l)
|
![]() |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |