Smtp-call

From GreenVulcano Wiki
Revision as of 10:56, 2 February 2012 by Anonymous (talk) (How To)
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:

  • type: call.
  • class: it.greenvulcano.gvesb.virtual.smtp.SMTPCallOperation.
  • name: Operation name. Used in the Flow section to associate workflow nodes to VCL operations.
  • jndi-name: JNDI name of the mail Session configured in the application server.
  • override-protocol-host: 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: 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: GVBuffer defines the properties that will contain the MessageID of the message sent. Default to MessageID.

It has the following subelements:

mail-message

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

  • sender-display-name: defines the display name of sender.
  • subject: 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: Email content-type.
    The attribute's admitted values are:
    • text-plain
    • text-html
  • high-priority: The priority of the mail.
    The attribute's admitted values are:
    • true
    • false

Its subelements are:

  • destinations,
  • message-body,
  • attachments,
  • Description

destinations

This mail-message subelement contains the list of mail recipients.

It has the following attributes:

  • 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 attribute (to, cc and bcc) has the subelements:

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

message-body

The subelement 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 subelements:

  • Description
  • message-text (see bellow)
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']}

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:

  • Description
  • file-attachment
  • gvBuffer
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 subelements, 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>