Merge branch 'master' into transp_logging_1031
[users/jgh/exim.git] / doc / doc-txt / experimental-spec.txt
index a7651f6c0b27665d0c00ab3c7e6e21567a6061bc..04fd5d35c55e900e11e819aa8cbf38fb40b76f4f 100644 (file)
@@ -844,56 +844,55 @@ b. Configure, somewhere before the DATA ACL, the control option to
 
 
 
-DBL (Database Logging)
+Transport post-delivery actions
 --------------------------------------------------------------
 
 An arbitrary per-transport string can be expanded on successful delivery,
 and (for SMTP transports) a second string on deferrals caused by a host error.
-This feature allows the writing of exim internal log information
+This feature may be used, for example, to write exim internal log information
 (not available otherwise) into a database. 
 
-In order to use DBL, you must set
+In order to use the feature, you must set
 
-EXPERIMENTAL_DBL=yes
+EXPERIMENTAL_TPDA=yes
 
 in your Local/Makefile
 
 and define the expandable strings in the runtime config file, to
 be executed at end of delivery.
 
-Additionally, there are 8 more variables, available at end of
+Additionally, there are 6 more variables, available at end of
 delivery:
 
-dbl_delivery_ip             IP of host, which has accepted delivery
-dbl_delivery_port           Port of remote host which has accepted delivery
-dbl_delivery_fqdn           FQDN of host, which has accepted delivery
-dbl_delivery_local_part     local part of address being delivered
-dbl_delivery_domain         domain part of address being delivered
-dbl_delivery_confirmation   SMTP confirmation message
-router_name                 name of router
-transport_name              name of transport
+tpda_delivery_ip             IP of host, which has accepted delivery
+tpda_delivery_port           Port of remote host which has accepted delivery
+tpda_delivery_fqdn           FQDN of host, which has accepted delivery
+tpda_delivery_local_part     local part of address being delivered
+tpda_delivery_domain         domain part of address being delivered
+tpda_delivery_confirmation   SMTP confirmation message
 
 In case of a deferral caused by a host-error:
-dbl_defer_errno             Error number
-dbl_defer_errstr            Error string possibly containing more details
+tpda_defer_errno             Error number
+tpda_defer_errstr            Error string possibly containing more details
 
+The $router_name and $transport_name variables are also usable.
 
 
-To log successful deliveries, set the following option
+To take action after successful deliveries, set the following option
 on any transport of interest.
 
-dbl_delivery_query
+tpda_delivery_action
 
 An example might look like:
 
-dbl_delivery_query = \
+tpda_delivery_action = \
 ${lookup pgsql {SELECT * FROM record_Delivery( \
     '${quote_pgsql:$sender_address_domain}',\
     '${quote_pgsql:${lc:$sender_address_local_part}}', \
-    '${quote_pgsql:$dbl_delivery_domain}', \
-    '${quote_pgsql:${lc:$dbl_delivery_local_part}}', \
-    '${quote_pgsql:$dbl_delivery_ip}', \
-    '${quote_pgsql:${lc:$dbl_delivery_fqdn}}', \
+    '${quote_pgsql:$tpda_delivery_domain}', \
+    '${quote_pgsql:${lc:$tpda_delivery_local_part}}', \
+    '${quote_pgsql:$tpda_delivery_ip}', \
+    '${quote_pgsql:${lc:$tpda_delivery_fqdn}}', \
     '${quote_pgsql:$message_exim_id}')}}
 
 The string is expanded after the delivery completes and any
@@ -904,7 +903,7 @@ Note that for complex operations an ACL expansion can be used.
 In order to log host deferrals, add the following option to an SMTP
 transport:
 
-dbl_host_defer_query
+tpda_host_defer_action
 
 This is a private option of the SMTP transport. It is intended to
 log failures of remote hosts. It is executed only when exim has
@@ -916,18 +915,18 @@ this is determined.
 
 Example:
 
-dbl_host_defer_query = \
+tpda_host_defer_action = \
 ${lookup mysql {insert into delivlog set \
     msgid = '${quote_mysql:$message_exim_id}', \
     senderlp = '${quote_mysql:${lc:$sender_address_local_part}}', \
     senderdom = '${quote_mysql:$sender_address_domain}', \
-    delivlp = '${quote_mysql:${lc:$dbl_delivery_local_part}}', \
-    delivdom = '${quote_mysql:$dbl_delivery_domain}', \
-    delivip = '${quote_mysql:$dbl_delivery_ip}', \
-    delivport = '${quote_mysql:$dbl_delivery_port}', \
-    delivfqdn = '${quote_mysql:$dbl_delivery_fqdn}', \
-    deliverrno = '${quote_mysql:$dbl_defer_errno}', \
-    deliverrstr = '${quote_mysql:$dbl_defer_errstr}' \
+    delivlp = '${quote_mysql:${lc:$tpda_delivery_local_part}}', \
+    delivdom = '${quote_mysql:$tpda_delivery_domain}', \
+    delivip = '${quote_mysql:$tpda_delivery_ip}', \
+    delivport = '${quote_mysql:$tpda_delivery_port}', \
+    delivfqdn = '${quote_mysql:$tpda_delivery_fqdn}', \
+    deliverrno = '${quote_mysql:$tpda_defer_errno}', \
+    deliverrstr = '${quote_mysql:$tpda_defer_errstr}' \
     }}
 
 --------------------------------------------------------------