1. SMTP RELAY
In the context of SMTP relay, emails are relayed to remote mail servers as received. No alteration of the original content (headers or body parts) is made. For this reason, the system does not support tracking in this context (opens/clicks/mirror pages/unsubscribes). Only ARC and DKIM signatures can be added to headers.
On the other hand, it is possible to precisely control the routing parameters, via the header
"X-SMTP-R-API : { { "routing" .... }", cf chap 6.
Nb: this header is removed by default during routing.
The access parameters to the RafaleMTA relay are specified when setting up the technical configuration (host, port, protocol, encryption, authentication, login/password), as well as the default values of the message routing parameters.
The synchronous operation of the relay makes it possible to deliver, during the SMTP session, the final return code of the remote mail server, according to the following diagram:

However, if the system was unable to obtain an acknowledgment code from the remote server (insufficient outbound resources within the time limit, impossibility of connecting to the server, etc.), a specific "451 9.XY" error indicates this. the reason, according to the table below:
SMTP Status code
Description
451 9.1.x X-SMTP-R-API <description>
Invalid JSON parameter
451 9.0.x X-SMTP-R-API <description>
Invalid email format
451 9.2.x X-SMTP-R-API <description>
Email address refused (filters, internal blacklists, etc.)
451 9.4.x X-SMTP-R-API <description>
RFU
451 9.5.x X-SMTP-R-API <description>
RFU
451 9.3.x X-SMTP-R-API <description>
Timeout. No route available within the time limit.
451 9.6.x X-SMTP-R-API <description>
RFU
Note that the system only performs a fallback in the event of a connection failure to the remote server or of blacklisting detection. If the attempts are unsuccessful ("maxhop" or "timeout" reached), the system returns the error message of the last attempt. On the other hand, if a qualified acknowledgment or hardbounce is detected, the system immediately reports the result of the transmission.
From: <test@example.com>
To: <example@gmail.com>
Subject: this is a transactionnal message
...
X-SMTP-R-API: {
"message" : {
"ref" : <message's reference (3-30 chars ‘a’-‘z’ ‘0’-‘9’ ‘-‘>,
"title" : <message description>,
"tags" : [<search keyword list>,… ],
"timeout" : <maximum transmission delay before 451 reply>,
"maxhop" : <maximum number of routes tested for transmission>
},
"routing" : {
"ehlo" : <domain name used in the EHLO (@rdns)>,
"envelopefrom": <address used in the MAIL FROM: @mailfrom/@verp/@from>,
"sign" : <DKIM signing flag: from/envelope/both>,
"ssl" : <STARTTLS usage flag: true/false>,
"outbound" : <list of IPs and/or transmission resources>
}
}
...