<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.pscs.co.uk/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.pscs.co.uk/feed.php">
        <title>PSCS Wiki</title>
        <description></description>
        <link>https://wiki.pscs.co.uk/</link>
        <image rdf:resource="https://wiki.pscs.co.uk/_media/wiki:dokuwiki.svg" />
       <dc:date>2026-05-06T11:06:02+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:lua_smtp_server_script?rev=1746692615&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:lua_smtp_mx_control?rev=1771948188&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:lua_smtp_relay_control?rev=1755163495&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:sender_advanced_relay_settings?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:lan_forwarding_script?rev=1755706120&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:configure_srs?rev=1755530891&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/adminapi:smtpidsevents?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:forwarded_emails_not_arriving?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:password_strength_checking_script?rev=1767605139&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:imap4_server_script?rev=1750675906&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:signature_script?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:archive_script?rev=1679787211&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:user_manager_script?rev=1713775058&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:scheduling_management_scripts?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:whitelist_blacklist?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:attachment_extraction_script?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:autoresponder_global_script?rev=1774279769&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:error_handling_script?rev=1700475481&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:outgoing_message_script?rev=1711018194&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:smtp_filtering?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_httpget?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_httpgetmd5?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_httppost?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_winhttpget?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:virus_scan_filter_script?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/adminapi:outmsgretpath?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/adminapi:smtpspfwhitelist?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/adminapi:userruleactionupdate?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/adminapi:userruleconditionupdate?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/adminapi:userruleupdate?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:550_not_permitted?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:backscatter?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:error_messages?rev=1759764097&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:mail_not_downloading_from_isp?rev=1775498387&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:seeing_where_a_message_came_from?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:the_message_could_not_be_loaded._please_return_to_the_quarantine_page_and_try_again?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/mailapi:autoresponderconditionlist?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/mailapi:autoresponderinfo?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/mailapi:userruleactionupdate?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/mailapi:userruleconditionupdate?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/mailapi:userruleupdate?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:access_restrictions_internal_format?rev=1690964557&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:address_book_tab?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:attachment_processing_script?rev=1669282143&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:copy_smtp_rules?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:group_a_user_s_folders_into_letter_groups?rev=1773659562&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:lua_hash_functions?rev=1730217591&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:lua_monitor_script?rev=1566922420&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:lua_pop3_client_script?rev=1692172081&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:lua_smtp_mx_server_rules?rev=1771948203&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:management_scripting?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:scheduler_script?rev=1628506507&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:smtp_advanced?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:smtp_direct?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:smtp_load_limiting?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:smtp_rules_script?rev=1774525319&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_countmatches?rev=1749197557&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_getaddresstype?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_getusergroup?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_variables?rev=1692028861&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.setsetting?rev=1615307830&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3net.gethttp?rev=1615308164&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.pscs.co.uk/_media/wiki:dokuwiki.svg">
        <title>PSCS Wiki</title>
        <link>https://wiki.pscs.co.uk/</link>
        <url>https://wiki.pscs.co.uk/_media/wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://wiki.pscs.co.uk/reference:lua_smtp_server_script?rev=1746692615&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-08T08:23:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SMTP Server Lua Scripting</title>
        <link>https://wiki.pscs.co.uk/reference:lua_smtp_server_script?rev=1746692615&amp;do=diff</link>
        <description>SMTP Server Lua Scripting

The SMTP Server Lua Script is called SMTPSVR.LUA and can be edited from the Settings -&gt; Scripts page in the VPOP3 settings. This script is called whenever an instance of the VPOP3 SMTP server is launched - ie whenever someone opens a connection to port 25 on the VPOP3 server to send it a message, whether from a local user or an incoming SMTP message.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:lua_smtp_mx_control?rev=1771948188&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-24T15:49:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Lua SMTP MX Control</title>
        <link>https://wiki.pscs.co.uk/reference:lua_smtp_mx_control?rev=1771948188&amp;do=diff</link>
        <description>Lua SMTP MX Control

Every time VPOP3 is going to send messages using direct MX sending, it runs a script called mxout.lua which can be created/edited in Settings -&gt; Scripts (or in the VPOP3 directory in VPOP3 v6.6 or earlier).

Global Variables

Starting with v8.8, the following global variables are defined:</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:lua_smtp_relay_control?rev=1755163495&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-14T09:24:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Lua SMTP Relay Control</title>
        <link>https://wiki.pscs.co.uk/reference:lua_smtp_relay_control?rev=1755163495&amp;do=diff</link>
        <description>Lua SMTP Relay Control

Every time VPOP3 is going to send messages via SMTP Relay, it runs a script called relayout.lua in the VPOP3 directory.

Global Variables

This script may have global variables, depending on your version of VPOP3.

In VPOP3 3.0.0L and later, there are two read-only global variables set at the start of the script:</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:sender_advanced_relay_settings?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Mail Sender Advanced Relay Settings</title>
        <link>https://wiki.pscs.co.uk/reference:sender_advanced_relay_settings?rev=1542192349&amp;do=diff</link>
        <description>Mail Sender Advanced Relay Settings

SMTP Return Address

The SMTP Return Address (or Return Path) is a hidden part of a message which says where bounce messages (and other automated responses) should be sent. (It is not the same as the Reply address</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:lan_forwarding_script?rev=1755706120&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-20T16:08:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LAN Forwarding Scripting</title>
        <link>https://wiki.pscs.co.uk/reference:lan_forwarding_script?rev=1755706120&amp;do=diff</link>
        <description>LAN Forwarding Scripting

(Added in V8.7)

This is stored in the &#039;LanForwarding.lua&#039; script in Settings -&gt; Scripts

Pre-send

These functions are called before the message is placed in the LAN Forwarding queue

There are two global variables set:

	*</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:configure_srs?rev=1755530891&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-18T15:28:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Configure SRS</title>
        <link>https://wiki.pscs.co.uk/how_to:configure_srs?rev=1755530891&amp;do=diff</link>
        <description>Configure SRS

In VPOP3 8.8 and later, you can use Lua scripting to implement &#039;SRS&#039; (Sender Rewriting Scheme&#039;) in VPOP3

This involves adding a couple of functions to rewrite outgoing return paths in &#039;relayout.lua&#039; or &#039;mxout.lua&#039; as appropriate and a couple of functions to redirect rewritten bounce message recipients in &#039;smtpsvr.lua&#039;</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/adminapi:smtpidsevents?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SMTPIDSEvents Replacement</title>
        <link>https://wiki.pscs.co.uk/adminapi:smtpidsevents?rev=1542192349&amp;do=diff</link>
        <description>SMTPIDSEvents Replacement

Use:
~smtpidsevents~
This returns the latest entries from the SMTP client logging database. It will return 100 entries unless the count parameter is specified in the URL, in which case that will specify the maximum number of entries to return.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:forwarded_emails_not_arriving?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Forwarded Emails Not Arriving</title>
        <link>https://wiki.pscs.co.uk/how_to:forwarded_emails_not_arriving?rev=1542192349&amp;do=diff</link>
        <description>Forwarded Emails Not Arriving

If you are having problems having VPOP3 forward incoming messages to an external address, but sending messages directly to that address works OK, and forwarding internal messages to that address works OK, then the problem may be the SMTP return address which VPOP3 is using.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:password_strength_checking_script?rev=1767605139&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-05T09:25:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Password Strength Checking Script</title>
        <link>https://wiki.pscs.co.uk/reference:password_strength_checking_script?rev=1767605139&amp;do=diff</link>
        <description>Password Strength Checking Script

You can tell VPOP3 to enforce password strength checks by using a Lua script which performs the checks for you.

The Lua script can be edited in Settings -&gt; Scripts and is called passwordcheck.lua (in older versions of VPOP3 it is stored in a file called</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:imap4_server_script?rev=1750675906&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-23T10:51:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>IMAP4 Server Scripting</title>
        <link>https://wiki.pscs.co.uk/reference:imap4_server_script?rev=1750675906&amp;do=diff</link>
        <description>IMAP4 Server Scripting

(Added in V6.12)

DoCapability function

When the IMAP4 CAPABILITY command is received, VPOP3 generates a capability string based on settings, then calls
DoCapability(ipaddr, capabilities)
	*  ipaddr = IP address of the client computer</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:signature_script?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Signature Script</title>
        <link>https://wiki.pscs.co.uk/reference:signature_script?rev=1542192349&amp;do=diff</link>
        <description>Signature Script

If you want more complex signatures on outgoing emails, rather than the static text/HTML you can define within VPOP3, then you can use a simple Lua script to define the signature.

The Lua script is stored in a file called signature.lua</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:archive_script?rev=1679787211&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-25T23:33:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Archive Script</title>
        <link>https://wiki.pscs.co.uk/reference:archive_script?rev=1679787211&amp;do=diff</link>
        <description>Archive Script

(from VPOP3 v6 onwards)

Archive scripting lets you indicate whether full message content should be stored in the message archive. This could be used, for instance, for filtering out messages containing credit card details.

The message headers will still be archived, along with the explanation text returned by the script.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:user_manager_script?rev=1713775058&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-04-22T08:37:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>User Manager Script</title>
        <link>https://wiki.pscs.co.uk/reference:user_manager_script?rev=1713775058&amp;do=diff</link>
        <description>User Manager Script

If you want people to be able to log in using a different username than their VPOP3 username (eg if you want them to be able to log in using an email address), then you can use the UserManager Lua script

The Lua script is managed through the Settings → Scripts page in VPOP3 v8.0 and later and is called &#039;UserManager.LUA.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:scheduling_management_scripts?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Scheduling Management Scripts</title>
        <link>https://wiki.pscs.co.uk/reference:scheduling_management_scripts?rev=1542192349&amp;do=diff</link>
        <description>Scheduling Management Scripts

VPOP3 runs a script called scheduler.lua in the background, it will periodically call functions in this script at approximately 1 minute, 5 minute, 1 hour and 1 day intervals. These times are only approximate so should not be relied upon for timing.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:whitelist_blacklist?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Spamfilter Whitelist &amp; Blacklist</title>
        <link>https://wiki.pscs.co.uk/how_to:whitelist_blacklist?rev=1542192349&amp;do=diff</link>
        <description>Spamfilter Whitelist &amp; Blacklist

The VPOP3 spamfilter has a whitelist and a blacklist for sender addresses. It also has a whitelist and blacklist for words/phrases.

You can view these lists in the VPOP3 settings by going to Settings -&gt; Spamfilter -&gt;</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:attachment_extraction_script?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Attachment Extraction Scripting</title>
        <link>https://wiki.pscs.co.uk/reference:attachment_extraction_script?rev=1542192349&amp;do=diff</link>
        <description>Attachment Extraction Scripting

This is the &#039;extraction.lua&#039; script.

(Added in V6.17)

This script has one functions:

	*  Extract

This functions is called if the attachment extraction is enabled in Settings -&gt; Attachment Processing -&gt; Extraction.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:autoresponder_global_script?rev=1774279769&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-23T15:29:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Autoresponder Global Scripting</title>
        <link>https://wiki.pscs.co.uk/reference:autoresponder_global_script?rev=1774279769&amp;do=diff</link>
        <description>Autoresponder Global Scripting

For scripting to modify the autoresponder text which is embedded in the autoresponder itself, see Autoresponder Scripting

The Autoresponder Global Script is executed for every autoresponse. It is stored in the &#039;Autoresponder.lua&#039; script in Settings → Scripts</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:error_handling_script?rev=1700475481&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-20T10:18:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Error Handling Scripting</title>
        <link>https://wiki.pscs.co.uk/reference:error_handling_script?rev=1700475481&amp;do=diff</link>
        <description>Error Handling Scripting

For most error messages that VPOP3 generates, it allows control of error messages, eg to limit the frequency of error messages if they would be generated repeatedly. These limits are set in Settings -&gt; Admin Settings -&gt; Message Control. However, if you want more granular control, you can use Lua scripting for more fine-grained control</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:outgoing_message_script?rev=1711018194&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-03-21T10:49:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Outgoing Message Scripting</title>
        <link>https://wiki.pscs.co.uk/reference:outgoing_message_script?rev=1711018194&amp;do=diff</link>
        <description>Outgoing Message Scripting

Every time VPOP3 adds a message to the Outgoing mail queue, it runs a script called outmessage.lua.

Scripts are stored as files in the VPOP3 directory in VPOP3 v6.6 and earlier, or managed through the Settings -&gt; Scripts page in VPOP3 v6.7 and later.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:smtp_filtering?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SMTP Service - Filtering</title>
        <link>https://wiki.pscs.co.uk/reference:smtp_filtering?rev=1542192349&amp;do=diff</link>
        <description>SMTP Service - Filtering

The SMTP Server -&gt; Filtering tab lets you set up filtering of messages going through the VPOP3 SMTP service. This may be incoming SMTP messages, or locally sent messages.

SMTP Rules

SMTP Rules let you create custom rules for processing messages as they go through the VPOP3 SMTP service.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_httpget?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Spam Filter Rules: HTTPGet</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_httpget?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: HTTPGet
Statement  HTTPGet Version  2.3.7+ Purpose  Enables the script to retrieve a web page 
The HTTPGet statement requires a url, headers variable name and content variable name, in the format
HTTPGet &lt;url&gt; &lt;headers variable name&gt; &lt;content variable name&gt;</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_httpgetmd5?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Spam Filter Rules: HTTPGetMD5</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_httpgetmd5?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: HTTPGetMD5
Statement  HTTPGetMD5 Version  2.3.7+ Purpose  Enables the script to retrieve a web page, returning an MD5 hash of its contents in hex encoded form 
The HTTPGetMD5 statement requires a url, headers variable name and MD5 hash variable name, in the format</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_httppost?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Spam Filter Rules: HTTPPost</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_httppost?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: HTTPPost
Statement  HTTPPost Version  2.4.9+ Purpose  Enables the script to post data to a web server 
The HTTPPost statement requires a url, data string, headers variable name and content variable name, in the format
HTTPPost &lt;url&gt; &lt;data string&gt; &lt;headers variable name&gt; &lt;content variable name&gt;</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_winhttpget?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Spam Filter Rules: WinHTTPGet</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_winhttpget?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: WinHTTPGet
Statement  WinHTTPGet Version  2.4.9+ Purpose  Enables the script to retrieve a web page using the WinINET functionality 
The WinHTTPGet statement requires a url, headers variable name and content variable name, in the format</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:virus_scan_filter_script?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Virus Scan Filter Scripting</title>
        <link>https://wiki.pscs.co.uk/reference:virus_scan_filter_script?rev=1542192349&amp;do=diff</link>
        <description>Virus Scan Filter Scripting

(Added in V6.17)

The VIRUSSCAN.LUA script has a single function FilterResult

This function is called for every virus that a VPOP3-integrated (eg VPOP3 AV or Sophos SAV Interface) detects. The function has the opportunity to &#039;filter&#039; the virus detection so that VPOP3 will act as if the virus was not detected.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/adminapi:outmsgretpath?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>OutMsgRetPath Replacement</title>
        <link>https://wiki.pscs.co.uk/adminapi:outmsgretpath?rev=1542192349&amp;do=diff</link>
        <description>OutMsgRetPath Replacement

Use:
~outmsgretpath~

Required parameter: MsgID

This returns the return path of the specified message in the VPOP3 out queue</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/adminapi:smtpspfwhitelist?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SMTPSPFWhitelist Replacement</title>
        <link>https://wiki.pscs.co.uk/adminapi:smtpspfwhitelist?rev=1542192349&amp;do=diff</link>
        <description>SMTPSPFWhitelist Replacement

Use:
~smtpspfwhitelist~
&lt;format string&gt;
~end~

If you specify the parameter serverid then this will just return white list entries which match all servers or this server.

The format string can have the replacements

	*  id - the whitelist entry ID</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/adminapi:userruleactionupdate?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>UserRuleActionUpdate Replacement</title>
        <link>https://wiki.pscs.co.uk/adminapi:userruleactionupdate?rev=1542192349&amp;do=diff</link>
        <description>UserRuleActionUpdate Replacement

Use:
~userruleactionupdate~

Required parameter:

	*  Account
	*  RuleId
	*  gr_id - action ID
	*  !nativeeditor_status - inserted/deleted/updated
	*  type
	*  data

This inserts/updates/deletes the specified message rule action</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/adminapi:userruleconditionupdate?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>UserRuleConditionUpdate Replacement</title>
        <link>https://wiki.pscs.co.uk/adminapi:userruleconditionupdate?rev=1542192349&amp;do=diff</link>
        <description>UserRuleConditionUpdate Replacement

Use:
~userruleconditionupdate~

Required parameter:

	*  Account
	*  RuleID
	*  gr_id - condition ID
	*  !nativeeditor_status - inserted/deleted/updated
	*  matchi (1/0)
	*  matchn (1/0)
	*  match
	*  field
	*  data</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/adminapi:userruleupdate?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>UserRuleUpdate Replacement</title>
        <link>https://wiki.pscs.co.uk/adminapi:userruleupdate?rev=1542192349&amp;do=diff</link>
        <description>UserRuleUpdate Replacement

Use:
~userruleupdate~

Required parameter:

	*  Account
	*  gr_id - rule ID
	*  !nativeeditor_status - inserted/deleted/updated
	*  name
	*  all
	*  type

This inserts/updates/deletes the specified message rule

The return value is an XML tag:</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:550_not_permitted?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>550/553 Not Permitted error from BT Internet&#039;s mail servers</title>
        <link>https://wiki.pscs.co.uk/how_to:550_not_permitted?rev=1542192349&amp;do=diff</link>
        <description>550/553 Not Permitted error from BT Internet&#039;s mail servers

BT Internet&#039;s mail servers only allow messages to be sent from &#039;approved&#039; email addresses. If you try to send messages from other addresses BT&#039;s mail servers may return a &#039;550 Not Permitted&#039; error, a &#039;553&#039; error, or may silently discard the message depending on what their server feels like doing today.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:backscatter?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Backscatter</title>
        <link>https://wiki.pscs.co.uk/how_to:backscatter?rev=1542192349&amp;do=diff</link>
        <description>Backscatter

In email, “backscatter” is the term used if you send bounce messages back to spam messages. As most spam messages use forged email addresses, then the bounce messages will go to an innocent person, who will find them very annoying.

Stopping VPOP3 from sending Backscatter</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:error_messages?rev=1759764097&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-06T15:21:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Error Messages</title>
        <link>https://wiki.pscs.co.uk/how_to:error_messages?rev=1759764097&amp;do=diff</link>
        <description>Error Messages

This is the place to look if you are trying to trouble shoot a problem and you have received or have access to a specific error message or error code. If instead your problem is that something you think is set up correctly is not working then the best place to look would be the</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:mail_not_downloading_from_isp?rev=1775498387&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-06T17:59:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Mail Not Downloading From ISP</title>
        <link>https://wiki.pscs.co.uk/how_to:mail_not_downloading_from_isp?rev=1775498387&amp;do=diff</link>
        <description>Mail Not Downloading From ISP

This normally happens because you have told VPOP3 to Leave Messages On Server (on the Mail Connectors -&gt; Mail Collectors -&gt; (name) -&gt; POP3 General tab). If you do this, VPOP3 will leave messages on the ISP&#039;s mail server for several days, and remember that it has already downloaded them. Then, the next time it connects it will see that there are some messages waiting, but it may find that it has already downloaded them, so it won&#039;t download them again.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:seeing_where_a_message_came_from?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Seeing where a message came from</title>
        <link>https://wiki.pscs.co.uk/how_to:seeing_where_a_message_came_from?rev=1542192349&amp;do=diff</link>
        <description>Seeing where a message came from

Sometimes you need to check to see where a message really came from. The &#039;From:&#039; email address is easily forged, so that cannot be relied upon.

The first thing you have to do is to get the full message headers. These may look daunting, but are very useful for problem diagnosis.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:the_message_could_not_be_loaded._please_return_to_the_quarantine_page_and_try_again?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>The message could not be loaded. Please return to the Quarantine page and try again</title>
        <link>https://wiki.pscs.co.uk/how_to:the_message_could_not_be_loaded._please_return_to_the_quarantine_page_and_try_again?rev=1542192349&amp;do=diff</link>
        <description>The message could not be loaded. Please return to the Quarantine page and try again

This error normally means the message file has been deleted from the hard disk (probably by a virus scanner or something else on the PC).

If you can find the message in the VPOP3 settings (Settings</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/mailapi:autoresponderconditionlist?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>AutoresponderConditionList Replacement</title>
        <link>https://wiki.pscs.co.uk/mailapi:autoresponderconditionlist?rev=1542192349&amp;do=diff</link>
        <description>AutoresponderConditionList Replacement

Use:
~autoresponderconditionlist~

Required parameter: responderid - the ID of the autoresponder

This returns a JSON structure containing an array of the rules associated with the specified autoresponder.

The return structure is an array of objects containing:</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/mailapi:autoresponderinfo?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>AutoresponderInfo Replacement</title>
        <link>https://wiki.pscs.co.uk/mailapi:autoresponderinfo?rev=1542192349&amp;do=diff</link>
        <description>AutoresponderInfo Replacement

Use:
~autoresponderinfo~

Required parameter: responderid - the ID of the autoresponder

This returns a JSON structure containing the details of the specified autoresponder.

The return structure is an object containing:</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/mailapi:userruleactionupdate?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>UserRuleActionUpdate Replacement</title>
        <link>https://wiki.pscs.co.uk/mailapi:userruleactionupdate?rev=1542192349&amp;do=diff</link>
        <description>UserRuleActionUpdate Replacement

Use:
~userruleactionupdate~

Required parameter:

	*  RuleId
	*  gr_id - action ID
	*  !nativeeditor_status - inserted/deleted/updated
	*  type
	*  data

This inserts/updates/deletes the specified message rule action</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/mailapi:userruleconditionupdate?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>UserRuleConditionUpdate Replacement</title>
        <link>https://wiki.pscs.co.uk/mailapi:userruleconditionupdate?rev=1542192349&amp;do=diff</link>
        <description>UserRuleConditionUpdate Replacement

Use:
~userruleconditionupdate~

Required parameter:

	*  RuleID
	*  gr_id - condition ID
	*  !nativeeditor_status - inserted/deleted/updated
	*  matchi (1/0)
	*  matchn (1/0)
	*  match
	*  field
	*  data

This inserts/updates/deletes the specified message condition</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/mailapi:userruleupdate?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>UserRuleUpdate Replacement</title>
        <link>https://wiki.pscs.co.uk/mailapi:userruleupdate?rev=1542192349&amp;do=diff</link>
        <description>UserRuleUpdate Replacement

Use:
~userruleupdate~

Required parameter:

	*  gr_id - rule ID
	*  !nativeeditor_status - inserted/deleted/updated
	*  name
	*  all
	*  type

This inserts/updates/deletes the specified message rule

The return value is an XML tag:</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:access_restrictions_internal_format?rev=1690964557&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-02T08:22:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Access Restrictions Internal Format</title>
        <link>https://wiki.pscs.co.uk/reference:access_restrictions_internal_format?rev=1690964557&amp;do=diff</link>
        <description>Access Restrictions Internal Format

VPOP3 internally stores service IP Access Restrictions in its settings database using the following format to encode the multiple entries

These are stored in the settings database as *ALLOWED*.DAT (using VPOP3SETTINGS GET *ALLOWED*.DAT will list them)</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:address_book_tab?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Address Book tab</title>
        <link>https://wiki.pscs.co.uk/reference:address_book_tab?rev=1542192349&amp;do=diff</link>
        <description>Address Book tab

The Address Book tab within VPOP3 webmail enables you to manage your lists of contacts and add those contacts into a new or existing message. Substantial alterations to the interface were introduced in version 5. Both interfaces are documented.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:attachment_processing_script?rev=1669282143&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-11-24T09:29:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Attachment Processing Script</title>
        <link>https://wiki.pscs.co.uk/reference:attachment_processing_script?rev=1669282143&amp;do=diff</link>
        <description>Attachment Processing Script

(Added in v7.6)

This script has functions to allow message attachments to be altered:

	*  NeedsRecode
	*  NeedsRewrite
	*  GetRename
	*  GetContentDispositionLine (added in v7.8)
	*  IsLockNeeded
	*  RewriteAttachment</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:copy_smtp_rules?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Copy SMTP Rules - Database Query</title>
        <link>https://wiki.pscs.co.uk/reference:copy_smtp_rules?rev=1542192349&amp;do=diff</link>
        <description>Copy SMTP Rules - Database Query

This is an advanced Database action. There is no simple query that will perform the required operation, so we have to create a custom PostgreSQL function to copy the data.

At a command prompt in the VPOP3 directory run</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:group_a_user_s_folders_into_letter_groups?rev=1773659562&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-16T11:12:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Group a user&#039;s folders into letter groups</title>
        <link>https://wiki.pscs.co.uk/reference:group_a_user_s_folders_into_letter_groups?rev=1773659562&amp;do=diff</link>
        <description>Group a user&#039;s folders into letter groups

This is useful in VPOP3 Enterprise if you have a large folder with many subfolders and want to group the subfolders into other subfolders based on their first letter

For example, if you have

	*  Customers</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:lua_hash_functions?rev=1730217591&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-29T15:59:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Lua Hashing Functions</title>
        <link>https://wiki.pscs.co.uk/reference:lua_hash_functions?rev=1730217591&amp;do=diff</link>
        <description>Lua Hashing Functions

Added in VPOP3 8.7

Four functions have been added to perform hash algorithms on a text string

	*  VPOP3.SHA1(string)
	*  VPOP3.SHA256(string)
	*  VPOP3.SHA512(string)
	*  VPOP3.MD5(string)

All functions take a string parameter, and return a table of numbers containing the hash value (one byte per table entry). The length of the returned table are:</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:lua_monitor_script?rev=1566922420&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-27T16:13:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Monitor Scripting</title>
        <link>https://wiki.pscs.co.uk/reference:lua_monitor_script?rev=1566922420&amp;do=diff</link>
        <description>Monitor Scripting

(Added in V6.15)

This script has three functions:

	*  MonitorIncoming
	*  MonitorInternal
	*  MonitorOut

The functions are similar, except they are called when different messages are to be monitored (incoming, internal and outgoing messages respectively).</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:lua_pop3_client_script?rev=1692172081&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-16T07:48:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>POP3 Client Lua Scripting</title>
        <link>https://wiki.pscs.co.uk/reference:lua_pop3_client_script?rev=1692172081&amp;do=diff</link>
        <description>POP3 Client Lua Scripting

The POP3 Client Lua Script is called POP3CLT.LUA and is edited in Settings -&gt; Scripts. This script is called whenever VPOP3 runs a POP3 session to download messages from a remote POP3 server.

VPOP3 will call the following Lua functions in the script at the following times:</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:lua_smtp_mx_server_rules?rev=1771948203&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-24T15:50:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Lua SMTP MX Server Rules</title>
        <link>https://wiki.pscs.co.uk/reference:lua_smtp_mx_server_rules?rev=1771948203&amp;do=diff</link>
        <description>Lua SMTP MX Server Rules

Every time VPOP3 checks for remote MX server for sending messages using direct MX sending, it runs a script called mxserverrules.lua which can be created/edited in Settings -&gt; Scripts (or in the VPOP3 directory in VPOP3 v6.6 or earlier).</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:management_scripting?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Management Scripting</title>
        <link>https://wiki.pscs.co.uk/reference:management_scripting?rev=1542192349&amp;do=diff</link>
        <description>Management Scripting

In VPOP3 Enterprise, from version 6.17 there is the facility to run Lua scripts manually or according to a schedule. These scripts can do things like access mail folders &amp; messages and perform some maintenance on them.

Creating a new script</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:scheduler_script?rev=1628506507&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-08-09T10:55:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Scheduled Task Script</title>
        <link>https://wiki.pscs.co.uk/reference:scheduler_script?rev=1628506507&amp;do=diff</link>
        <description>Scheduled Task Script

Note that this functionality is only available in VPOP3 Enterprise

VPOP3 Enterprise can run Lua script periodically to do custom background tasks. It can run a function every minute, 5 minutes, hourly or daily.

The Lua script is stored in a file called</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:smtp_advanced?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SMTP Service -&gt; Advanced Tab</title>
        <link>https://wiki.pscs.co.uk/reference:smtp_advanced?rev=1542192349&amp;do=diff</link>
        <description>SMTP Service -&gt; Advanced Tab

Services -&gt; SMTP Server -&gt; Advanced Tab

Refuse SMTP Connections from

This setting should be rarely needed, and should be normally left blank. It is here for historic purposes.

If you put some text in this box, then VPOP3 will refuse any SMTP connections from clients whose &#039;HELO&#039;/&#039;EHLO&#039; command data contains the text specified here as a substring. Eg, if this setting is set to &#039;.myisp.com&#039;, then VPOP3 would refuse SMTP connections from any client which sends the c…</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:smtp_direct?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Mail Connectors -&gt; Mail Senders -&gt; SMTP Direct</title>
        <link>https://wiki.pscs.co.uk/reference:smtp_direct?rev=1542192349&amp;do=diff</link>
        <description>Mail Connectors -&gt; Mail Senders -&gt; SMTP Direct

VPOP3 can be configured to send mail directly to the recipient&#039;s mail server (or the recipient&#039;s mail service provider). Usually this is only used if you have a high-end business class Internet connection - such as a leased line, or your mail server is co-located in a data centre. Attempts to use SMTP Direct sending on a dial-up/ADSL/Cable/FTTC/etc connection may be problematic since the receiving mail server may think you a home user who has been …</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:smtp_load_limiting?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SMTP -&gt; Load Limiting tab</title>
        <link>https://wiki.pscs.co.uk/reference:smtp_load_limiting?rev=1542192349&amp;do=diff</link>
        <description>SMTP -&gt; Load Limiting tab

This page is reached from Services -&gt; SMTP Server, then the Load Limiting tab.

Here you can set limits on how many active SMTP sessions there are, and other related settings. This lets you limit the load on the VPOP3 server. This is especially important if VPOP3 is performing spam filtering on incoming SMTP messages, because the spam filter can add considerable load.
You can reduce the spamfilter load by using the</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:smtp_rules_script?rev=1774525319&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-26T11:41:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Lua SMTP Rules Scripts</title>
        <link>https://wiki.pscs.co.uk/reference:smtp_rules_script?rev=1774525319&amp;do=diff</link>
        <description>Lua SMTP Rules Scripts

When VPOP3 is processing SMTP Rules for messages received by SMTP, it runs a script called smtprules_(x).lua, where (x) is replaced by the numeric ID of the SMTP service

VPOP3 processes SMTP Rules at least three times for each message - once when MAIL FROM has been received, once for each RCPT TO, and once when the whole message data has been received.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_countmatches?rev=1749197557&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-06T08:12:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Spam Filter Rules: CountMatches</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_countmatches?rev=1749197557&amp;do=diff</link>
        <description>Spam Filter Rules: CountMatches
Statement  CountMatches Version  2.3.13+ Purpose  Counts the number of times a specific regular expression matches in a string 
CountMatches statements require a data parameter, a search value, and the name of the variable to place the count into, in the format</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_getaddresstype?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Spam Filter Rules: GetAddressType</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_getaddresstype?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: GetAddressType
Statement  GetAddressType Version  2.4.6+ Purpose  Analyses a specified email address and reports what &#039;type&#039; of address it is 
The GetAddressType statement requires an email address and variable name, in the format</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_getusergroup?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Spam Filter Rules: GetUserGroup</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_getusergroup?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: GetUserGroup
Statement  GetUserGroup Version  2.4.5+ Purpose  Checks if the specified user is assigned to a VPOP3 group, and returns the group name 
The GetUserGroup statement requires a username and variable name, in the format
GetUserGroup &lt;username&gt; &lt;variable name&gt;</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_variables?rev=1692028861&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-14T16:01:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Spam Filter Rules: Variables</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_variables?rev=1692028861&amp;do=diff</link>
        <description>Spam Filter Rules: Variables

The VPOP3 spam filter script language supports simple variables. In most places these are specified as ${&lt;variable name&gt;}, but in some places they are just specified as &lt;variable name&gt; - for instance where a statement always puts its result into a variable.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.setsetting?rev=1615307830&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-09T16:37:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>VPOP3.SetSetting</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.setsetting?rev=1615307830&amp;do=diff</link>
        <description>VPOP3.SetSetting

The Lua function &#039;VPOP3.SetSetting&#039; sets a general setting forVPOP3

It takes two parameters:

	*  The name of the setting. This can either by the &#039;Name&#039; field of the &#039;Settings.Settings&#039; database table or the internal setting name
	*  The data to set (must be a string)</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3net.gethttp?rev=1615308164&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-09T16:42:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>VPOP3Net.GetHTTP</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3net.gethttp?rev=1615308164&amp;do=diff</link>
        <description>VPOP3Net.GetHTTP

This function takes a single parameter

	*  the URL to retrieve. This can be http:// or https://

The function returns two values

	*  a table containing the result of the GET
		*  Host - the hostname
		*  File - the filename
		*  Headers - a table containing the response headers</description>
    </item>
</rdf:RDF>
