Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The SMTP adaptor is configured by means of the following properties:

Property name
Description

Transport adapter parameters


TransportLayer.SmtpTA.DllName

Contains path and name of the SMTP adaptor DLL. 
The property is required.

TransportLayer.SmtpTA.Description

Adaptor name. 
The property is required

TransportLayer.SmtpTA.Type

Type of the adaptor library. Should be 'DLL'. The property is not required.

Parameters for multiple sessions


TransportLayer.SmtpTA.SMTPSessions

This parameter determines the names of SMTP clients. 
It is necessary to define the parameters described below for each client.
The format is 'SMTPSession.X.ParameterName' where 'X' is the name of the client.

The SMTP Client name is used as a reference of the Client in BL and JavaScripting for the <Send /> action and

the  

the send(<session source identifier>) JavaScript function.

TransportLayer.SmtpTA.SMTPSessions.DefaultServerName

Default SMTP server name or IP address. 
The property is not required

TransportLayer.SmtpTA.SMTPSessions.DefaultServerPort

Default SMTP server port. 
The property is not required.

TransportLayer.SmtpTA.SMTPSessions.DefaultFrom

Default
The default value of the 'From' field. 
The property is not required.

TransportLayer.SmtpTA.SMTPSessions.DefaultCC

Default
The default value of the 'CC' field. 
The property is not required.

TransportLayer.SmtpTA.SMTPSessions.DefaultBCC

Default
The default value of the 'BCC' field. 
The property is not required

TransportLayer.SmtpTA.SMTPSessions.DefaultSmartEmailProcessing

When true, the corresponding tags will be used for e-mail Subject and Body at FIX EMail message conversation. 
The property is not required.

TransportLayer.SmtpTA.SMTPSessions.DefaultSendingTimeout

Sending message timeout, common for all SMTP sessions. 
The property is not required.

TransportLayer.SmtpTA.SMTPSessions.DefaultConnectionTimeout

SMTP server connection timeout, common for all SMTP sessions. 
The property is not required.

Parameters for a specific session


TransportLayer.SmtpTA.SMTPSession.

XXX

<Session>.ServerName

SMTP server name or IP address. 
The property is required when DefaultServerName is not defined.

TransportLayer.SmtpTA.SMTPSession.

XXX

<Session>.ServerPort

SMTP server port. The property is required when DefaultServerPort is not defined.

TransportLayer.SmtpTA.SMTPSession.

XXX

<Session>.SecureConnection

Type of secure connection: TLS, SSL. 
The property is required if a secure connection is needed, otherwise - not required.

TransportLayer.SmtpTA.SMTPSession.

XXX

<Session>.Login

User login. 
The property is required if authorization is needed, otherwise - not required.

TransportLayer.SmtpTA.SMTPSession.

XXX

<Session>.Password

User password. 
The property is required if authorization is needed, otherwise - not required.

TransportLayer.SmtpTA.SMTPSession.

XXX

<Session>.From

Value of the 'From' field. 
The property is not required if DefaultFrom is defined, otherwise - required.

TransportLayer.SmtpTA.SMTPSession.

XXX

<Session>.To

Value of the 'To' field. 
The property is required.

TransportLayer.SmtpTA.SMTPSession.

XXX

<Session>.CC

Value of the 'CC' field. 
The property is not required.

TransportLayer.SmtpTA.SMTPSession.

XXX

<Session>.BCC

Value of the 'BCC' field. 
The property is not required.

TransportLayer.SmtpTA.SMTPSessions.

XXX

<Session>.SmartEmailProcessing

If true, the corresponding tags will be used for e-mail Subject and Body at FIX EMail message conversation. 

Allows to convert Email (C) message to email and use the corresponding tags as email content, if it set to true.

The subject is taken from  (147) Subject and a body is composed of (58) Text tag values entries of the repeating group with a size defined in (33) LinesOfText in this case.

The property is not required.

TransportLayer.SmtpTA.SMTPSessions.

XXX

<Session>.SendingTimeout

Message sending timeout, defined for a specified session. 
The property is not required.

TransportLayer.SmtpTA.SMTPSessions.

XXX

<Session>.ConnectionTimeout

SMTP server connection timeout, defined for a specified session.
The property is not required.

...

Info
The changes in the FIXEdge properties file are applied only after the FIXEdge restart.

Integration with FIXEdge

Execute the following steps to integrate the SMTP adaptor into the FIXEdge:

  1. Open the FIXEdge properties file (FIXEdge.properties by default).
  2. Find the 'TransportLayer.TransportAdapters' property Add the 'TransportLayer.TransportAdapters' property in case or add the property if it does not exist
  3. Set 'TransportLayer.SmtpTA' to the value of the 'TransportLayer.TransportAdapters' property:

    Code Block
    languagexml
    TransportLayer.TransportAdapters = TransportLayer.SmtpTA
    1. If the 'TransportLayer.TransportAdapters' property has a value already, append ',TransportLayer.SmtpTA' to the value:

      Code Block
      languagexml
      TransportLayer.TransportAdapters = <... the list of the other adapters>, TransportLayer.SFSAdaptorDLL,TransportLayer.SmtpTA
  4. Add the 'TransportLayer.SmtpTA.Description' property with the value - SMTP adaptor name:

    Code Block
    languagexml
    TransportLayer.SmtpTA.Description = SMTP Transport Adaptor DLL
  5. Add the 'TransportLayer.SmtpTA.DllName' property with the value - path to the SMTP adaptor dlllibrary:

    Code Block
    languagexml
    TransportLayer.SmtpTA.DllName = bin/SMTPAdaptorDll.dll
    Add the 'TransportLayer.SmtpTA.Type' property with the 'DLL' value:
    Code Block
    TransportLayer.SmtpTA.Type = DLL
  6. Add the set of default properties:

    Code Block
    TransportLayer.SmtpTA.SMTPSessions.DefaultServerName = mail.test_test.com
    TransportLayer.SmtpTA.SMTPSessions.DefaultServerPort = 25
    TransportLayer.SmtpTA.SMTPSessions.DefaultSendingTimeout = 10
    TransportLayer.SmtpTA.SMTPSessions.DefaultConnectionTimeout = 10
    TransportLayer.SmtpTA.SMTPSessions.DefaultSmartEmailProcessing = false
  7. Add the 'TransportLayer.SmtpTA.SMTPSessions property SMTPSessions property with value - the set of SMTP client's names:

    Code Block
    TransportLayer.SmtpTA.SMTPSessions = TestSmtpSMTPClient
  8. Add properties for each client, like this:

    Code Block
    TransportLayer.SmtpTA.SMTPSession.TestSmtpSMTPClient.ServerName = mail.test_test.com
    TransportLayer.SmtpTA.SMTPSession.TestSmtpSMTPClient.ServerPort = 25
    TransportLayer.SmtpTA.SMTPSession.TestSmtpSMTPClient.To = jsg@test_test_btobits.com
    TransportLayer.SmtpTA.SMTPSession.TestSmtpSMTPClient.From = jsg@test_test_btobits.com
    TransportLayer.SmtpTA.SMTPSession.TestSmtpSMTPClient.CC = 
    TransportLayer.SmtpTA.SMTPSession.TestSmtpSMTPClient.BCC = 
  9. Restart the FIXEdge server to apply changes.

...

Code Block
languagebash
#------------------------------------------------------------
# Transport Layer Section
#------------------------------------------------------------ 
TransportLayer.TransportAdapters = TransportLayer.SmtpTA
....
#------------------------------------------------------------ 
# SMTP Adaptor settings 
#------------------------------------------------------------ 
# SMTP adaptor name 
TransportLayer.SmtpTA.Description = SMTP Transport Adaptor 
# Contains path and name of the SMTP adaptor dll. Property is required 
TransportLayer.SmtpTA.DllName = ./bin/SMTPAdaptorDll.dll 
# Type of the adaptor library, has contains value 'DLL'. Property is required 
TransportLayer.SmtpTA.Type = DLL 
TransportLayer.SmtpTA.SMTPSessions = testSmtp SMTPClient
# SMTP server host. Required when DefaultServerName not defined 
TransportLayer.SmtpTA.SMTPSession.testSmtpSMTPClient.ServerName = mail.test_test.com 
# SMTP server port. Required when DefaultServerPort not defined 
TransportLayer.SmtpTA.SMTPSession.testSmtpSMTPClient.ServerPort = 25 
# email receiver. Required 
TransportLayer.SmtpTA.SMTPSession.testSmtpSMTPClient.To = jsg@test_test_btobits.com; 
# email sender. Required when DefaultFrom not defined 
TransportLayer.SmtpTA.SMTPSession.testSmtpSMTPClient.From = jsg@test_test_btobits.com 
# email CC receivers. Not required 
TransportLayer.SmtpTA.SMTPSession.testSmtpSMTPClient.CC = 
# email BCC receivers. Not required 
TransportLayer.SmtpTA.SMTPSession.testSmtpSMTPClient.BCC =

Monitoring (view logs)

By default, the SMTP adaptor puts log messages into the FIXEdge log. Execute the following steps to configure the SMTP adaptor logging into a separate file:

...

Problem
Solution

FIXEdge start fails and the FIXEdge log file contains the following record:

[FATAL] 20070215-11:42:25.250 - Transport Layer has failed to initialize: Error loading DLL './/../SMTPAdaptorAddin.dll '. : The specified module could not be found. (126)

FIXEdge is unable to find the SMTP adaptor library file. Make sure that 'TransportLayer.SmtpTA.DllName' contains a valid path and name.

FIXEdge start fails and the FIXEdge log file contains the following record:

[FATAL] 20070215-11:45:12.312 - Transport Layer has failed to initialize: Cannot find the 'TransportLayer.SmtpTA.XXX' property.

The SMTP adaptor was not configured properly. The required 'TransportLayer.SmtpTA.XXX' property does not exist in the FIXEdge property file.
FIXEdge is started but the FIXEdge log file does not contain the 'SMTP Adaptor v.xxx started' record.

Make sure that the SMTP adaptor was configured properly in the FIXEdge property file:

  1. 'TransportLayer.SmtpTA' added into the 'TransportLayer.TransportAdapters' property
  2. 'Log.SmtpAdaptorTransportLayer.SmtpTA.File.Name' property that redirects the SMTP adaptor log into another file that does not exist.

Make sure that the FIXEdge log file does not contain any related error messages.

...