The SMTP WSDL extensibility elements allow the user to "configure" 2 sets of information for use in the SMTP Binding Component: SMTP connectivity information and binding information to convert WSDL messages to and from SMTP messages.
This page describes the elements for each of these 2 groups.
SMTP address element attributes:
| Attribute Name | Description | Mandatory | Example |
|---|---|---|---|
| location | A URL which specifies the location of the receiver. The URL follows the standard "mailto" URL Scheme from RFC 2368 | Yes | mailto:someuser@somedomain.com |
| smtpserver | The SMTP server used by the client interactions. When the server is implementing this WSDL, this attribute is ignored | No | mail.google.com |
| port | The port of the SMTP server. When the server is implementing this WSDL, this is the port no the server will listen on. If this WSDL is used for invoking operation, this is the port the BC will try to connect to. The default port is 25 for plain text interaction and 465 for SSL based interaction. | No | 25 |
| useSSL | Used to specify if the SMTP Server requires SSL authentication. This is currently used only in outbound interactions while connecting to other external SMTP Servers. | No | true |
| username | Used to specify the username for connecting to other external SMTP Server. | No | user123 |
| password | Used to specify the password for connecting to other external SMTP Server | No | abc123 |
The following is a sample usage of the SMTP address extensiblity element defined for a service port,
<port binding="y:binding" name="smtpEndpoint">
<smtp:address location="mailto:someuser@somedomain.com" smtpserver="mail.google.com"
port="465" username="user123" password="abc123"/>
</port>
Notes on location: The URL scheme must conform to RFC 2368.
SMTP binding element attributes:
| Attribute Name | Description | Mandatory | Example |
|---|
SMTP binding sub-elements:
| Element Name | Description | Mandatory | Example |
|---|---|---|---|
| proxy | Represents a proxy to route SMTP messages through | No | *See smtp:proxy section* |
The smtp:binding element MUST be present when using the SMTP binding.
<definitions .... >
<binding .... >
<smtp:binding />
</binding>
</definitions>
SMTP proxy element attributes:
| Attribute Name | Description | Mandatory | Example |
|---|---|---|---|
| host | The host for sending SMTP messages | Yes | proxyhost.com |
| port | The port used for sending SMTP messages. This must be an integer corresponding to a semantically correct port number | No | 25 |
| userName | The user name for sending SMTP messages | No | user |
| password | The password for sending SMTP messages | No | password |
<definitions .... >
<binding .... >
<smtp:binding>
<smtp:proxy host="proxyhost.com" port="25" userName="user" password="password">*
</smtp:binding>
</binding>
</definitions>
SMTP operation element attributes:
| Attribute Name | Description | Mandatory | Example |
|---|
<definitions .... >
<binding .... >
<operation .... >
<smtp:operation />
</operation>
</binding>
</definitions>
SMTP input element attributes:
| Attribute Name | Description | Mandatory | Example |
|---|---|---|---|
| message | Refers to the message part containing the SMTP message to be sent. | No | part1 |
| from | Refers to the message part containing the sender of the SMTP message. This is generally an email address | No | part1 |
| to | Refers to the message part containing the "to" email addresses to which the email has to be sent. This is generally a comma separated / semi-colon separated email addresses | No | part1 |
| cc | Refers to the message part containing the "cc" email addresses to which the email has to be sent. This is generally a comma separated / semi-colon separated email addresses | No | part1 |
| bcc | Refers to the message part containing the "bcc" email addresses to which the email has to be sent. This is generally a comma separated / semi-colon separated email addresses | No | part1 |
| subject | Refers to the message part containing the subject of the SMTP message. | No | part1 |
| charset | Refers to the message part containing the character set of the SMTP message. | No | utf-8 |
| use | This attribute can be used to specify if the message part containing the SMTP message is encoded or not. The values are encoded/literal. The default is literal. | No | encoded |
| encocdingStyle | This attribute can be used to specify the encoding scheme to be used if the "use" attribute is set to "encoded". This should be a valid name of an encoder module. | No | customencoder-1.0 |
SMTP input sub-elements:
| Element Name | Description | Mandatory | Example |
|---|---|---|---|
| attachment | Represents an attachment to a SMTP message | No | *See smtp:attachment section* |
<definitions .... >
<binding .... >
<operation .... >
<input>
<smtp:input message="nmtokens"? subject="nmtokens"? from="nmtokens"? to="nmtokens"? cc="nmtokens"? bcc="nmtokens"
use="encoded" encodingStyle="customencoder-1.0"? charset="string"? />
</input>
</operation>
</binding>
</definitions>
Notes on message, from, and subject: These elements MUST refer to part names from the input message.
Notes on to, cc, and bcc: These elements MUST refer to part names from the input message. In the runtime the content of these messages should evaluate to comma separated / semi-colon separated email ids of the form username@domain.com
The attachment element is a sub-element of the smtp:input element. This element is currently unsupported but is included for future feature enhancements.
SMTP attachment element attributes:
| Attribute Name | Description | Mandatory | Example |
|---|---|---|---|
| contentType | Refers to the message part containing the content type of the attachment | Yes | part1 |
| name | Indicates how message parts will be encoded in the SMTP fault | Yes | part1 |
| content | Indicates a particular encoding style to use | Yes | part1 |
<definitions .... >
<binding .... >
<operation .... >
<input>
<smtp:input message="nmtokens"? subject="nmtokens"? from="nmtokens"?
charset="string"?>
<smtp:attachment contentType="nmtokens" name="nmtokens" content="nmtokens"/>
</smtp:input>
</input>
</operation>
</binding>
</definitions>
Notes on contentType, name, and nmtokens: These elements MUST refer to part names from the input message.