======Lua Scripting====== [[http://www.lua.org|Lua]] is a simple scripting programming language often used for embedding in other applications. VPOP3 uses it to customise behaviour in places where most people will be happy with the default behaviour, but occasionally people will want to do something more complicated. Rather than having lots of extra options to complicate things for most users, we have opted to go for a more flexible scripting facility. For general Lua programming instructions see www.lua.org for documentation. Note that if you use the **print** command in Lua, VPOP3 will write the output to the **Lua.out** file, it won't appear directly on screen. VPOP3 writes Lua interpreter errors (eg syntax errors etc) to **Luaerrors.log** in the VPOP3 logging directory. Please note - the only help we will give with Lua with our free support is to clarify the Lua interface (eg function signatures etc), we will not give help with Lua in general or help you to write or debug your own Lua scripts. We can help with that, but it will be on a chargeable basis depending on the complexity of the issue. [[support@pscs.co.uk|Contact us]] for more information. In VPOP3 v6.6 and earlier, Lua scripts are stored as files in the main VPOP3 installation directory, or in users' directories (if they are user specific scripts). These must be edited from outside of VPOP3 and backed up separately. In VPOP3 v6.7 and later, scripts are stored in the VPOP3 database, and are managed from the Settings -> Scripts page in the VPOP3 settings. These are backed up with the main VPOP3 backups. If you save a script as a file in the VPOP3 directory, VPOP3 will import it into the database on first use. * [[Archive Script|Archive Scripting]] * [[Attachment Extraction Script|Attachment Extraction Scripting]] * [[Attachment Processing Script|Attachment Process Scripting]] * [[Autoresponder Script|Autoresponder Scripting]] * [[Database Backup Script|Database Backup Scripting]] * [[DMARC Reporter Script|DMARC Reporter Scripting]] * [[Error Handling Script|Error Handling Scripting]] * [[IMAP4 Server Script|IMAP4 Server Scripting]] * [[LAN Forwarding Script|LAN Forwarding Scripting]] * [[Lua Monitor Script|Message Monitor Scripting]] * [[Lua SMTP Relay control|SMTP Relay Control]] * [[Lua SMTP MX control|SMTP MX Control]] * [[Lua SMTP MX server rules|SMTP MX Server Rules]] * [[Lua SMTP Server Script|SMTP Server Scripting]] * [[Lua POP3 Client Script|POP3 Client Scripting]] * [[IDS Logging Script|IDS Logging Scripting]] * [[Management Scripting|Management Scripting]] * [[Outgoing Message Script|Outgoing Message Scripting]] * [[Password Strength Checking Script|Password Strength Checking Scripting]] * [[Scheduler Script|Scheduled Task Scripting]] * [[Signature Script|Signature Scripting]] * [[SMTP Rules Script|SMTP Rules Scripting]] * [[User Delivery Script|User Message Delivery Scripting]] * [[User Manager Script|User Manager Scripting]] * [[User Routing Script|User Routing Scripting]] * [[Virus Scan Filter Script|Virus Scan Filter Scripting]] * [[Bandwidth Management Script|Bandwidth Management Scripting]] =====Extra VPOP3 Functions===== ====Version 8.7==== * [[Lua Hash Functions|VPOP3.SHA1]] * [[Lua Hash Functions|VPOP3.SHA256]] * [[Lua Hash Functions|VPOP3.SHA512]] * [[Lua Hash Functions|VPOP3.MD5]] * [[VPOP3.HMAC]] * [[VPOP3.Base64]] * [[VPOP3.UnBase64]] * [[VPOP3.HexString]] * [[VPOP3.UnHexString]] ====Version 7.9==== * [[VPOP3.SendMessage]] * [[VPOP3.SendControlledMessage]] * [[VPOP3.SendNotification]] ====Version 5==== * [[VPOP3.PostgresQuery]] ====Version 3 or later==== * [[os.clearsafety]] * [[os.setsafety]] * [[os.sleep]] * [[os.getdirectory]] * [[os.timedexecute]] * [[VPOP3.GetSetting]] * [[VPOP3.SetSetting]] * [[VPOP3.ExpandAddress]] * [[VPOP3.GetUserList]] * [[VPOP3.GetUserSetting]] * [[VPOP3.SetUserSetting]] * [[VPOP3Net.GetDNSRecords]] * [[VPOP3Net.GetHTTP]] * [[VPOP3Net.GetWHOIS]] ====Only in POP3CLT.LUA and SMTPSVR.LUA 'ProcessMessage' function==== * [[VPOP3.GetMessagePart]] * [[VPOP3.GetMessagePartHeader]] * [[VPOP3.GetMessagePartBody]] * [[VPOP3.MessageReset]] * [[VPOP3.MessageSeek]] * [[VPOP3.GetMessageLines]] * [[VPOP3.SaveAttachment]]