Smtp-call

From GreenVulcano Wiki
Revision as of 13:37, 16 May 2014 by G.dimaio (talk | contribs)
Jump to: navigation, search

Description

GreenVulcano® ESB plugin for sending emails.

VulCon / GV Console Configuration

The smtp-call Element is used by Channel, routed-call. Its attributes are:

Attribute Type Description
type fixed This attribute must assume the value call.
class fixed This attribute must assume the value it.greenvulcano.gvesb.virtual.smtp.SMTPCallOperation.
name required Operation name. Used in the Flow section to associate workflow nodes to VCL operations.
jndi-name required JNDI name of the mail Session configured in the application server.
override-protocol-host optional Corresponds to the property mail.protocol.host and overwrites the value of property mail.host specified in the configuration of the mail Session.
override-protocol-user optional Corresponds to the property mail.protocol.user and overwrites the value of property mail.user specified in the configuration of the mail Session.
message-id-property optional Defines the properties that will contain the MessageID of the message sent. Default to MessageID.

It has the following sub-elements:

mail-message

This element defines the properties of the message. It is used by smtp-call and its attributes are:

Attribute Type Description
sender-display-name required defines the display name of sender.
subject required The subject of the email.
You can enter GVBuffer values using the following syntax:
  • for standard fields
  • ${system}
  • ${service}
  • ${id}
  • ${object}
  • ${retCode}
  • for properties
  • ${property['nome']}
content-type required Email content-type.
The attribute's admitted values are:
  • text-plain
  • text-html
high-priority optional The priority of the mail.
The attribute's admitted values are:
  • true
  • false

Its sub-elements are:

destinations

This element contains the list of mail recipients.

Might contain the following sub-elements:

  • Description
  • to: Contains the list of recipients of the email. Is overwritten by the value of the GVBuffer property GV_SMTP_TO.
  • cc: Contains the list of recipients in knowledge of the mail. Is overwritten by the value of the GVBuffer property GV_SMTP_CC.
  • bcc: Contains the list of recipients in hidden knowledge of the mail. Is overwritten by the value of the GVBuffer property GV_SMTP_BCC.

Every sub-element (to, cc and bcc) has the sub-elements:

  • Description
  • mail-address: containing the email address of a recipient. The address value is setted in its attribute:
    • address

message-body

The sub-element message-body defines the message body of the email. It is used by mail-message.

It has the following attributes:

  • gvBuffer-dump: If true, the GVBuffer dump will be included in the message body. Default: false.
    The attribute's admitted values are:
    • false
    • true

It has as sub-elements:

message-text

This element contains the message of the email. You can enter gvBuffer values using the following syntax:

  • for standard fields
  • ${system}
  • ${service}
  • ${id}
  • ${object}
  • ${retCode}
  • for properties
  • ${property['nome']}

For example, if "object" is a dom can write: ${@it.greenvulcano.util.xml.XMLUtils@serializeDOM_S(object)}

Its attribute escape-HTML-in-gvBuffer-fields allows you to specify whether, when replacing the placeholders for the fields of GVBuffer, any invalid characters for XML/HTML should be replaced with the corresponding entity. Default to true.

attachments

Use this mail-message subelements to define the list of attachments of the email. It is overwritten by the value of the GVBuffer property GV_SMTP_ATTACHMENTS.

It has the following attributes:

file-attachment

Use this element to define the file to attach to the email.

It has the attribute path where you can set the path of the file to attach. The attribute's value can't be null.

gvBuffer

Use this element if you want to attach at the email the GVBuffer contents.

It has the attribute name with which you can define a name of the attachment containing the GVBuffer contents. The attribute's value can't be null.

How To

For inserting a smtp-cal using VulCon® you must right click the element Channel where you are configuring your Flow plugins. Then Insert after (or Insert before) and select smtp-call from the expanded list.

Then you can add a mail-message element where you can set, using more sub-elements, the destinations, the message body and the attachments if required.

smpt-call SendEmail

The following picture shows a smtp-call element named SendEmail already configured:





The Service EmailFileAttachment which use this plugins must be set as:

<Service group-name="DEFAULT_GRP" id-service="EmailFileAttachment" service-activation="on" statistics="off">
        <Operation name="RequestReply" operation-activation="on" out-check-type="sys-svc-id" type="operation">
             <Participant id-channel="TEST_CHANNEL_FILE" id-system="GVESB"/>
                 <Flow first-node="list_files" point-x="21" point-y="38">
                     <Conditions/>
                     <GVOperationNode class="it.greenvulcano.gvesb.core.flow.GVOperationNode" .../>
                     <GVNodeCheck class="it.greenvulcano.gvesb.core.flow.GVNodeCheck" ...>
                          <GVRouting condition="FilesFound" next-node-id="prepare"/>
                     </GVNodeCheck>
                     <ChangeGVBufferNode class="it.greenvulcano.gvesb.core.flow.ChangeGVBufferNode"
                                dump-in-out="true" id="prepare" input="files" next-node-id="send_email"
                                op-type="change GVBuffer" output="files" point-x="225" point-y="302" type="flow-node">
                            <ChangeGVBuffer clear-data="false">
                                <OGNLScript>property[&apos;GV_SMTP_ATTACHMENTS&apos;] = 
                                            property[&apos;GVFM_FOUND_FILES_LIST&apos;]</OGNLScript>
                            </ChangeGVBuffer>
                   </ChangeGVBufferNode>
                   <GVOperationNode class="it.greenvulcano.gvesb.core.flow.GVOperationNode"
                            dump-in-out="false" id="send_email"
                            id-system="GVESB" input="files"
                            next-node-id="move_files" op-type="call"
                            operation-name="SendEmail" output="files"
                            point-x="384" point-y="309" type="flow-node"/>
                   ....
                   <GVEndNode class="it.greenvulcano.gvesb.core.flow.GVEndNode" .../>
                </Flow>
        </Operation>
</Service>