...
The SMTP adaptor is configured by means of using the following properties:
Property name | Description |
---|---|
Transport adapter properties | |
TransportLayer.SmtpTA.DllName | Contains path and name of the SMTP adaptor DLL |
The property is
. In case this parameter is not specified, the TransportLayer.SmtpTA.AdapterId is applied to define the adapter's library by ID
The property is required. | |||
TransportLayer.SmtpTA.AdapterId | The parameter to define the adapter's library by ID. In case this parameter is not specified, or TransportLayer.SmtpTA.DllName parameter is specified too, the TransportLayer.SmtpTA.DllName is applied
Required value: SMTP. The property is not 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. The SMTP Client name is used as a reference of the Client in BL and JavaScripting for the <Send /> action and |
the send(<session source identifier>) JavaScript function.
Default value: SMTP | ||
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 |
The default value of the 'From' field. The property is not required. |
TransportLayer.SmtpTA.SMTPSessions.DefaultCC |
The default value of the 'CC' field. The property is not required. |
TransportLayer.SmtpTA.SMTPSessions.DefaultBCC |
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. |
TransportLayer.SmtpTA.SMTPSessions.DefaultOmitOriginalFixMessage | Requires SmartEmailProcessing to be enabled. Controls the inclusion of the "Original FIX message" block in all SMTP session emails. Default: false (block is included). Set to true to disable globally unless overridden by a session setting. The property is not required. |
Parameters for a specific session | |
---|---|
TransportLayer.SmtpTA.SMTPSession. |
<Session>.ServerName | SMTP server name or IP address. The property is required when DefaultServerName is not defined. |
TransportLayer.SmtpTA.SMTPSession. |
<Session>.ServerPort | SMTP server port. The property is required when DefaultServerPort is not defined. |
TransportLayer.SmtpTA.SMTPSession. |
<Session>.SecureConnection | Type of secure connection: TLS, SSL. The property is required if a secure connection is needed, otherwise - not required. |
TransportLayer.SmtpTA.SMTPSession. |
<Session>.Login | User login. The property is required if authorization is needed, otherwise - not required. |
TransportLayer.SmtpTA.SMTPSession. |
<Session>.Password | User password. The property is required if authorization is needed, otherwise - not required. |
TransportLayer.SmtpTA.SMTPSession. |
<Session>.From | Value of the 'From' field. The property is not required if DefaultFrom is defined, otherwise - required. |
TransportLayer.SmtpTA.SMTPSession. |
<Session>.To | Value of the 'To' field. The property is required. |
TransportLayer.SmtpTA.SMTPSession. |
<Session>.CC | Value of the 'CC' field. The property is not required. |
TransportLayer.SmtpTA.SMTPSession. |
<Session>.BCC | Value of the 'BCC' field. The property is not required. |
TransportLayer.SmtpTA.SMTPSessions. |
<Session>.SmartEmailProcessing |
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. |
<Session>.SendingTimeout | Message sending timeout, defined for a specified session. The property is not required. |
TransportLayer.SmtpTA.SMTPSessions. |
<Session>.ConnectionTimeout | SMTP server connection timeout, defined for a specified session. The property is not required. |
...
TransportLayer.SmtpTA.SMTPSession.<Session>.OmitOriginalFixMessage | Requires SmartEmailProcessing to be enabled. Controls the inclusion of the "Original FIX message" block in a SMTP session emails. Overrides the global default for individual sessions. Default: false. Set to true to exclude the block for that 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:
- Open the FIXEdge properties file (FIXEdge.properties by default).
- Find the 'TransportLayer.TransportAdapters' property Add the 'TransportLayer.TransportAdapters' property in case or add the property if it does not exist
Set 'TransportLayer.SmtpTA' to the value of the 'TransportLayer.TransportAdapters' property:
Code Block language xml TransportLayer.TransportAdapters = TransportLayer.SmtpTA
If the 'TransportLayer.TransportAdapters' property has a value already, append ',TransportLayer.SmtpTA' to the value:
Code Block language xml TransportLayer.TransportAdapters = <...,TransportLayer.SFSAdaptorDLL, the list of the other adapters>, TransportLayer.SmtpTA
Add the 'TransportLayer.SmtpTA.Description' property with the value - SMTP adaptor name:
Code Block language xml TransportLayer.SmtpTA.Description = SMTP Transport Adaptor DLL
Add the 'TransportLayer.SmtpTA.DllName' property with the value - path to the SMTP adaptor dlllibrary:
Code Block language xml TransportLayer.SmtpTA.DllName = bin/SMTPAdaptorDll.dll
Add the 'TransportLayer.SmtpTA.Type' property with the 'DLL' value:
Code Block TransportLayer.SmtpTA.Type = DLL
Info Several instances of SMTP TA can be created without copying the shared library since FIXEdge C++ 6.14.0.
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
Add the 'TransportLayer.SmtpTA.SMTPSessions property SMTPSessions property with value - the set of SMTP client's names:
Code Block TransportLayer.SmtpTA.SMTPSessions = TestSmtpSMTPClient
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 =
- Restart the FIXEdge server to apply changes.
...
Code Block | ||
---|---|---|
| ||
#------------------------------------------------------------ # 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:
Make sure that the FIXEdge log file does not contain any related error messages. |
...