This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
reference:lua_smtp_mx_control [2014/09/25 10:41] – paul | reference:lua_smtp_mx_control [2023/07/28 15:41] (current) – paul | ||
---|---|---|---|
Line 1: | Line 1: | ||
======Lua SMTP MX Control====== | ======Lua SMTP MX Control====== | ||
- | Every time VPOP3 is going to send messages using direct MX sending, it runs a script called **mxout.lua** in the VPOP3 directory. | + | Every time VPOP3 is going to send messages using direct MX sending, it runs a script called **mxout.lua** |
=====Messages to be sent===== | =====Messages to be sent===== | ||
Line 30: | Line 30: | ||
=====Remote Server Settings===== | =====Remote Server Settings===== | ||
If you need to tweak how VPOP3 connects to remote servers you can write a **ServerDetails** function. VPOP3 calls this function before sending each message. | If you need to tweak how VPOP3 connects to remote servers you can write a **ServerDetails** function. VPOP3 calls this function before sending each message. | ||
+ | |||
+ | (This function was [[https:// | ||
The function signature is: | The function signature is: | ||
**ServerDetails(Parameters, | **ServerDetails(Parameters, | ||
+ | |||
+ | The Parameters object contains details of the message being sent: | ||
+ | * authsender - the authenticated sender (if any) that sent the message to VPOP3 | ||
+ | * originator - the email address that sent the message to VPOP3 | ||
+ | * server - the mail server being connected to | ||
+ | * domain - the domain the message is being sent to | ||
+ | * length - the size of the message being sent | ||
+ | * connnid - the VPOP3 Connection/ | ||
+ | * connection - the VPOP3 Connection/ | ||
The function returns an Actions object saying what to do with the message. If nothing else, the function should return the Actions parameter. | The function returns an Actions object saying what to do with the message. If nothing else, the function should return the Actions parameter. | ||
- | The Actions object contains 9 values: | + | The Actions object contains 9 or more values: |
* tryESMTP - boolean to say whether VPOP3 should try to use ESMTP when connecting. If false, VPOP3 will just try SMTP. The default is true, where VPOP3 will attempt ESMTP and try to fallback to SMTP if the remote server doesn' | * tryESMTP - boolean to say whether VPOP3 should try to use ESMTP when connecting. If false, VPOP3 will just try SMTP. The default is true, where VPOP3 will attempt ESMTP and try to fallback to SMTP if the remote server doesn' | ||
* tryTLS - boolean to say whether VPOP3 should use TLS if the remote server claims to support it | * tryTLS - boolean to say whether VPOP3 should use TLS if the remote server claims to support it | ||
Line 46: | Line 57: | ||
* nullReturnAddress - the return address to use if VPOP3 should send a null return address | * nullReturnAddress - the return address to use if VPOP3 should send a null return address | ||
* allowDSN - boolean to indicate whether VPOP3 should use DSN if the remote server claims to support it | * allowDSN - boolean to indicate whether VPOP3 should use DSN if the remote server claims to support it | ||
+ | |||
+ | Starting with VPOP3 v6.17 it also contains: | ||
+ | * forceTLS - 1/0 to indicate that STARTTLS connection is forced. Connection fails if STARTTLS is not supported or fails | ||
+ | * verifyCert - 1/0 to indicate that the TLS certificate should be verified after connection. The connection will fail if verification fails | ||
+ | * checkCertName - wildcard string to check against the TLS certificate CN. The connection will fail if the CN doesn' | ||
+ | * checkCertThumbprint - string to check against the TLS certificate SHA-1 thumbprint. The connection will fail if the thumbprint doesn' | ||
+ | |||
+ | Example - don't use SSL when connecting to ' | ||
+ | |||
+ | function ServerDetails(params, | ||
+ | if params[" | ||
+ | actions[" | ||
+ | end | ||
+ | return actions | ||
+ | end | ||
+ | | ||
+ | |||
+ | =====ParseURL===== | ||
+ | (VPOP3 8.0 and later) |