<?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-13T05:01:35+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:lua_scripting?rev=1774568941&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:lua_smtp_server_script?rev=1746692615&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:user_routing_script?rev=1679913138&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:scheduling_management_scripts?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:user_delivery_script?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:custom_filtering_incoming_mail?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:lan_forwarding_script?rev=1755706120&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:send_admin_message?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:autoresponder_script?rev=1748424278&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:spam_filter_rules?rev=1674057433&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:dmarc_reporter_script?rev=1699782700&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:archive_script?rev=1679787211&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:lua_smtp_relay_control?rev=1755163495&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:lua_smtp_mx_control?rev=1771948188&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:signature_script?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_addrandomtexttosubject?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:smtp_ids_ips?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamfilter_script_configuration?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_addfixedtexttosubject?rev=1639408804&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_definesetting?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_startdns?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_startdnsbl?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_startsurbl?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.getmessagelines?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.getmessagepart?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.getmessagepartbody?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.getmessagepartheader?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.messagereset?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.messageseek?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.saveattachment?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:spam_filter_content_filter_scripts?rev=1542192349&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:smtp_rules_script?rev=1774525319&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_checkrecipient?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_header?rev=1601914452&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_ipwhitelist?rev=1643111967&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_longsenderdomain?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_manylinks?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_subject?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/how_to:configure_srs?rev=1755530891&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:full_text_search?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:redirect_message_for_a_user_if_the_sender_is_a_particular_email_address?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:repairing_corrupted_database?rev=1705318545&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:global_signature?rev=1542192349&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:lua_monitor_script?rev=1566922420&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:smtp_load_limiting?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spam_filter_general?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_definerule?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_dns?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_dnsbl?rev=1603469269&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/reference:white_black_lists?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/adminapi:version_5_webadmin_api?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:backup_vpop3?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:copy_outgoing_mail?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:download_rules?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:limit_size_of_sent_mail?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:restore_deleted_calendars?rev=1668771832&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/how_to:using_the_spam_filter?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/how_to:write_your_own_spam_filter_rules?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/mailapi:version_5_webmail_api?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:attachment_processing?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:message_headers?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:msgaudit?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:os.timedexecute?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:reference?rev=1542192349&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_comments?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_rule_names_and_weights?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_goto?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_log?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_star_ifsupport?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_star_stop?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_stop?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_surbl?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:spamrules_statement_zipcontents?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_zipcontentsfull?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_zipcount?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:temporary_files?rev=1771523787&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:useful_other_things?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.deletemessage?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.getfolders?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.getmessages?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.getsetting?rev=1544547961&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.getusers?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.markmessageread?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.postgresquery?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.purgemessage?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.renamefolder?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.sendmessage?rev=1628506726&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.setsetting?rev=1615307830&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_scripting?rev=1774568941&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-26T23:49:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Lua Scripting</title>
        <link>https://wiki.pscs.co.uk/reference:lua_scripting?rev=1774568941&amp;do=diff</link>
        <description>Lua Scripting

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.</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: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:user_routing_script?rev=1679913138&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-27T10:32:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>User Routing Script</title>
        <link>https://wiki.pscs.co.uk/reference:user_routing_script?rev=1679913138&amp;do=diff</link>
        <description>User Routing Script

If there is a &lt;username&gt;/user_redirect.lua script, this Lua script can override VPOP3&#039;s message routing options. You can edit this either in the Settings -&gt; Scripts page in the settings, or via the &#039;Routing&#039; tab in the user&#039;s settings in the VPOP3 administration console. This script affects how VPOP3 will handle how messages</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: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/reference:user_delivery_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>User Delivery Script</title>
        <link>https://wiki.pscs.co.uk/reference:user_delivery_script?rev=1542192349&amp;do=diff</link>
        <description>User Delivery Script

(VPOP3 v6.5 or later)

If there is a &lt;username&gt;/delivery.lua script, this Lua script can override VPOP3&#039;s message delivery options. You can edit this in the Settings -&gt; Scripts page in the settings. This script affects how VPOP3 will handle how messages being delivered to this user are handled.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:custom_filtering_incoming_mail?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>Custom filtering incoming mail</title>
        <link>https://wiki.pscs.co.uk/how_to:custom_filtering_incoming_mail?rev=1542192349&amp;do=diff</link>
        <description>Custom filtering incoming mail

If you want to filter incoming mail using custom rules there are a few ways of doing this, depending on your exact requirements.

	*  Download rules - if your incoming mail is via POP3 collection, you want to filter on headers, size etc (not contents)</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: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/reference:send_admin_message?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>Send Admin Message</title>
        <link>https://wiki.pscs.co.uk/reference:send_admin_message?rev=1542192349&amp;do=diff</link>
        <description>Send Admin Message

It is possible for administrator users to send a bulk email message to an entire group or list.

To begin composing an email, go to the Administration Settings -&gt; Users page, and click Send Admin Message. 

This should then open a window, which allows you to specify various options.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:autoresponder_script?rev=1748424278&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-28T09:24:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Autoresponder scripting</title>
        <link>https://wiki.pscs.co.uk/reference:autoresponder_script?rev=1748424278&amp;do=diff</link>
        <description>Autoresponder scripting

For scripting to alter the whole autoresponder definition and set in the VPOP3 settings rather than embedded in an autoresponder itself, see Autoresponder Global Scripting

In an autoresponder, you can create a Lua script by surrounding it with &lt;lua&gt; &amp; &lt;/lua&gt; tags, eg</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:spam_filter_rules?rev=1674057433&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-18T15:57:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Spam Filter Rules</title>
        <link>https://wiki.pscs.co.uk/reference:spam_filter_rules?rev=1674057433&amp;do=diff</link>
        <description>Spam Filter Rules

VPOP3 Versions 2.1.7 and later have a built-in spam filter system which supports a simple script language optimised for content- and spam-filtering of email messages.

This reference contains a definition of the spam filtering script language supported by VPOP3. Note that as later versions of VPOP3 are released, more language features may be added, so this reference indicates in which version of VPOP3 a particular feature was added.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:dmarc_reporter_script?rev=1699782700&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-12T09:51:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DMARC Reporter Script</title>
        <link>https://wiki.pscs.co.uk/reference:dmarc_reporter_script?rev=1699782700&amp;do=diff</link>
        <description>DMARC Reporter Script

(from VPOP3 v8.6 onwards)

This script lets you customise how VPOP3 sends DMARC reports to the sending domain. This can be useful in case the sending domain&#039;s DMARC configuration is incorrect as that can cause errors sending the reports or cause messages to be &#039;stuck&#039; in VPOP3&#039;s Outqueue. These problems won&#039;t cause any lasting damage, but may be inconvenient or annoying, so you can alter the behaviour using Lua scripting</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: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: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: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: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: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: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: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:spamrules_addrandomtexttosubject?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>Use the spam filter scripting to add random text to the subject on incoming messages</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_addrandomtexttosubject?rev=1542192349&amp;do=diff</link>
        <description>Use the spam filter scripting to add random text to the subject on incoming messages

This needs VPOP3 version 5 or later.

This script is for the case where you want a message to the &#039;support&#039; user to have the text [XXX-99999] added to an incoming message&#039;s subject if it does not already exist. Some people want this text to use as reference numbers for a</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:smtp_ids_ips?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 Server -&gt; IDS/IPS</title>
        <link>https://wiki.pscs.co.uk/reference:smtp_ids_ips?rev=1542192349&amp;do=diff</link>
        <description>SMTP Server -&gt; IDS/IPS

The IDS/IPS tab lets you set logging and automatic blocking parameters for the IDS (Intrusion Detection System) and IPS (Intrusion Prevention System) component of the SMTP server.

SMTP servers are regularly attacked, both by incoming mail attacks (spam/viruses etc) and relay attacks (by spammers and other malware distributors trying to send mail through them). Because of this, there is a system in VPOP3 which will track attack attempts on the SMTP service and can automat…</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamfilter_script_configuration?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 Script Configuration tab</title>
        <link>https://wiki.pscs.co.uk/reference:spamfilter_script_configuration?rev=1542192349&amp;do=diff</link>
        <description>Spamfilter Script Configuration tab

You reach this tab by going to Settings --&gt; Spam Filter -&gt; General, and then choose the General tab.

The Spamfilter script has various settings that can be changed to alter the behaviour of the spamfilter. These are defined in the script, so may change with different versions of the script. The settings are currently:</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_addfixedtexttosubject?rev=1639408804&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-13T15:20:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Use the spam filter scripting to add fixed text to the subject on incoming messages</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_addfixedtexttosubject?rev=1639408804&amp;do=diff</link>
        <description>Use the spam filter scripting to add fixed text to the subject on incoming messages

This needs VPOP3 version 5 or later.

This script allows you to add fixed text to the subject an incoming message, eg so that users can see that a message is an incoming rather than local message (be aware of weaknesses in this strategy - eg forwarded messages, spoofing of the marker, breaking DKIM message signatures, etc)</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_definesetting?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: DefineSetting</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_definesetting?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: DefineSetting
Statement  DefineSetting Version  2.1.9+ Purpose  Defines a generic setting, the default value and description 
The DefineSetting statement requires a name, default value and description, in the format
DefineSetting &quot;&lt;name&gt;&quot; &lt;default value&gt; &quot;&lt;description&gt;&quot;</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_startdns?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: StartDNS</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_startdns?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: StartDNS
Statement  StartDNS Version  2.2.1+ Purpose  Begins an asynchronous DNS lookup in advance of the result being required in a subsequent DNS statement 
The StartDNS statement requires a type and hostname, in the format
StartDNS &lt;type&gt; &lt;hostname&gt;</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_startdnsbl?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: StartDNSBL</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_startdnsbl?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: StartDNSBL
Statement  StartDNSBL Version  2.2.1+ Purpose  Begins an asynchronous DNS blacklist lookup in advance of the result being required in a subsequent DNSBL statement 
The StartDNSBL statement requires a hostname and DNSBL zone, in the format</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_startsurbl?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: StartSURBL</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_startsurbl?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: StartSURBL
Statement  StartSURBL Version  2.2.1+ Purpose  Begins an asynchronous SURBL lookup in advance of the result being required in a subsequent SURBL statement 
The StartSURBL statement requires a hostname and SURBL zone, in the format</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.getmessagelines?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>VPOP3.GetMessageLines</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.getmessagelines?rev=1542192349&amp;do=diff</link>
        <description>VPOP3.GetMessageLines

The Lua function &#039;VPOP3.GetMessageLines&#039; retrieves content lines from the message currently being processed

This function is only available in the ProcessMessage function of the POP3CLT.LUA or SMTPSVR.LUA scripts.

It takes one parameter:

	*  number - number of lines to retrieve</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.getmessagepart?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>VPOP3.GetMessagePart</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.getmessagepart?rev=1542192349&amp;do=diff</link>
        <description>VPOP3.GetMessagePart

The Lua function &#039;VPOP3.GetMessagePart&#039; retrieves a MIME part of the message currently being processed.

This function is only available in the ProcessMessage function of the POP3CLT.LUA or SMTPSVR.LUA scripts.

It takes one parameter:

	*  The MIME part &#039;Path&#039; from the MimeStructure parameter to the ProcessMessage function</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.getmessagepartbody?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>VPOP3.GetMessagePartBody</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.getmessagepartbody?rev=1542192349&amp;do=diff</link>
        <description>VPOP3.GetMessagePartBody

The Lua function &#039;VPOP3.GetMessagePartBody&#039; retrieves the content of a MIME part of the message currently being processed.

This function is only available in the ProcessMessage function of the POP3CLT.LUA or SMTPSVR.LUA scripts.

It takes one parameter:</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.getmessagepartheader?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>VPOP3.GetMessagePartHeader</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.getmessagepartheader?rev=1542192349&amp;do=diff</link>
        <description>VPOP3.GetMessagePartHeader

The Lua function &#039;VPOP3.GetMessagePartHeader&#039; retrieves a MIME section header of the message currently being processed.

This function is only available in the ProcessMessage function of the POP3CLT.LUA or SMTPSVR.LUA scripts.

It takes one parameter:</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.messagereset?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>VPOP3.MessageReset</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.messagereset?rev=1542192349&amp;do=diff</link>
        <description>VPOP3.MessageReset

The Lua function &#039;VPOP3.MessageReset&#039; resets an internal read pointer to the start of the message being processed

This function is only available in the ProcessMessage function of the POP3CLT.LUA or SMTPSVR.LUA scripts.

It takes no parameters

The function returns no value</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.messageseek?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>VPOP3.MessageSeek</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.messageseek?rev=1542192349&amp;do=diff</link>
        <description>VPOP3.MessageSeek

The Lua function &#039;VPOP3.MessageSeek&#039; sets an internal read pointer to the specified location of the message being processed

This function is only available in the ProcessMessage function of the POP3CLT.LUA or SMTPSVR.LUA scripts.

It takes one parameter:</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.saveattachment?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>VPOP3.SaveAttachment</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.saveattachment?rev=1542192349&amp;do=diff</link>
        <description>VPOP3.SaveAttachment

The Lua function &#039;VPOP3.SaveAttachment&#039; saves an attachment from the message being processed to a file

This function is only available in the ProcessMessage function of the POP3CLT.LUA or SMTPSVR.LUA scripts.

It takes two parameters:

	*  number - attachment number to save</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:spam_filter_content_filter_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>Spam filter / Content filter scripts</title>
        <link>https://wiki.pscs.co.uk/how_to:spam_filter_content_filter_scripts?rev=1542192349&amp;do=diff</link>
        <description>Spam filter / Content filter scripts

The spam filter system uses basic scripting language for processing messages. This can be used for custom content filtering as well if you need to look inside the messages (e.g. at message content, attachments) as well as at the message headers etc.</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: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_checkrecipient?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>Increase the spam score for certain recipients</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_checkrecipient?rev=1542192349&amp;do=diff</link>
        <description>Increase the spam score for certain recipients

This script is for the case where you want certain recipients to have a weighted score. For instance if you have users who have left and who mostly receive spam, but you don&#039;t want to reject their mail totally.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_header?rev=1601914452&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-05T16:14:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Increase the spam score for header marker</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_header?rev=1601914452&amp;do=diff</link>
        <description>Increase the spam score for header marker

This script is for the case where your ISP adds a header eg &#039;X-Spam: Yes&#039; to the message header, and you want the VPOP3 spamfilter to quarantine messages with that marker.

Add the following to the spamrules_userchecks.txt file. This script file only gets processed on incoming messages (the spamrules_localmail.txt script ends the processing of locally sent messages)</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_ipwhitelist?rev=1643111967&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-25T11:59:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Allow messages through from a specific IP address</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_ipwhitelist?rev=1643111967&amp;do=diff</link>
        <description>Allow messages through from a specific IP address

This script allows messages through the spam filter if they arrive at VPOP3 from a specific SMTP sender (only when the message is sent directly to VPOP3 using SMTP, not via another server).

Add the following to the spamrules_userlocal.txt file. This script file gets processed on all messages.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_longsenderdomain?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>Spamrules example - increase spam score for long sender domain</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_longsenderdomain?rev=1542192349&amp;do=diff</link>
        <description>Spamrules example - increase spam score for long sender domain

This script is for the case where you to increase the spamminess of emails where the sender&#039;s email address contains a long domain. In this case we&#039;ll say if the sender&#039;s domain has 20 or more characters in the first section (between the @ and first .). Note that we do not necessarily recommend that you do this as it is not a very good indicator of spam, but it is something we&#039;ve been asked for, so here it is.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_manylinks?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>Spamrules example - increase spam score if there are many links in the email</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_manylinks?rev=1542192349&amp;do=diff</link>
        <description>Spamrules example - increase spam score if there are many links in the email

This script is for the case where you to increase the spamminess of emails where the email contains many links - in this case we&#039;ll say if the email contains 10 or more links. Note that we do not necessarily recommend that you do this as it is not a very good indicator of spam, and will probably catch a lot of newsletter type emails, but it is something we&#039;ve been asked for, so here it is.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_subject?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>Increase the spam score for subject marker</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_subject?rev=1542192349&amp;do=diff</link>
        <description>Increase the spam score for subject marker

This script is for the case where your ISP adds a marker eg &#039;[spam]&#039; to the message subject, and you want the VPOP3 spamfilter to quarantine messages with that marker.

Add the following to the spamrules_userchecks.txt file. This script file only gets processed on incoming messages (the spamrules_localmail.txt script ends the processing of locally sent messages)</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/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/how_to:full_text_search?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>Full Text Search</title>
        <link>https://wiki.pscs.co.uk/how_to:full_text_search?rev=1542192349&amp;do=diff</link>
        <description>Full Text Search

In VPOP3 Enterprise v7.0 a facility for full-text-search on message content was added. Because the full-text-search indexes can be quite big, this facility is optional.

For several reasons, the full-text-search is stored in a separate PostgreSQL database. This means that it is not backed up with your standard backups. After a restore, the full-text-search index can be rebuilt from the raw message content.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:redirect_message_for_a_user_if_the_sender_is_a_particular_email_address?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>Redirect message for a user if a sender is a particular email address</title>
        <link>https://wiki.pscs.co.uk/how_to:redirect_message_for_a_user_if_the_sender_is_a_particular_email_address?rev=1542192349&amp;do=diff</link>
        <description>Redirect message for a user if a sender is a particular email address

Say you want messages addressed to &#039;user1&#039; to be redirected to &#039;user2&#039; if they came from customer@domain.com

This is an unusual requirement, so there is no way to do it in VPOP3.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:repairing_corrupted_database?rev=1705318545&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-15T11:35:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Repairing corrupted database</title>
        <link>https://wiki.pscs.co.uk/how_to:repairing_corrupted_database?rev=1705318545&amp;do=diff</link>
        <description>Repairing corrupted database

With PostgreSQL (as with most high-end databases) the database system will automatically recover after power failures etc, if it can. If it can&#039;t then there is no manual &#039;repair&#039; function, because the data cannot totally be recovered (or it would automatically have been recovered).</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:global_signature?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>Global Signature</title>
        <link>https://wiki.pscs.co.uk/reference:global_signature?rev=1542192349&amp;do=diff</link>
        <description>Global Signature

You can set a Global Signature in VPOP3 by going to Settings -&gt; Global Signature

The Global Signature option lets you tell VPOP3 to add a standard piece of text or HTML to the bottom of all outgoing messages.

You can create just a plain text, or</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: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_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: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:spam_filter_general?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 -&gt; General</title>
        <link>https://wiki.pscs.co.uk/reference:spam_filter_general?rev=1542192349&amp;do=diff</link>
        <description>Spamfilter -&gt; General

This page has 6 tabs to allow you to configure the VPOP3 spamfilter

	*  General tab
	*  Quarantine Settings tab
	*  Bayesian Database tab
	*  Script Configuration tab
	*  Rule Weights tab
	*  Advanced tab</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_definerule?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: DefineRule</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_definerule?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: DefineRule
Statement  DefineRule Version  2.1.9+ Purpose  Defines a rule name, default weighting and description. See Rule names and weights 
The DefineRule statement requires a name, default weight and description, in the format
DefineRule &quot;&lt;name&gt;&quot; &lt;default weights&gt; &quot;&lt;description&gt;&quot;</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_dns?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: DNS</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_dns?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: DNS
Statement  DNS Version  2.1.11+ Purpose  Allows the script to perform an arbitrary DNS lookup, returning the result into a specified variable 
The DNS statement requires a type, hostname and variable name, in the format
DNS &lt;type&gt; &lt;hostname&gt; &lt;variable name&gt;</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_dnsbl?rev=1603469269&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-23T16:07:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Spam Filter Rules: DNSBL</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_dnsbl?rev=1603469269&amp;do=diff</link>
        <description>Spam Filter Rules: DNSBL
Statement  DNSBL Version  2.1.7+ Purpose  Allows the script to perform a DNS blacklist lookup, returning the result into a specified variable 
The DNSBL statement requires a hostname, DNSBL zone and 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/reference:white_black_lists?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 White/Blacklists</title>
        <link>https://wiki.pscs.co.uk/reference:white_black_lists?rev=1542192349&amp;do=diff</link>
        <description>Spamfilter White/Blacklists

This lets you set whitelists &amp; blacklists for the spam filter.

There are four lists you can manage. The Whitelist Addresses &amp; Blacklist Addresses lists let you specify sender email addresses to check. With the default rule weights, if a sender&#039;s address is on the Whitelist, it will be allowed through the spam filter, and if it is on the Blacklist it will be blocked. If an address is on both the Whitelist and the Blacklist, they will cancel each other out, and the me…</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/adminapi:version_5_webadmin_api?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>Version 5 Web Admin API</title>
        <link>https://wiki.pscs.co.uk/adminapi:version_5_webadmin_api?rev=1542192349&amp;do=diff</link>
        <description>Version 5 Web Admin API

This section is only relevant for people who may want to access the Administration features from their own scripts, or want to customise the standard administration pages. Note that no free support is available for this.

This is not a full list of features, but it will be updated from time to time.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:backup_vpop3?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>How to Backup VPOP3</title>
        <link>https://wiki.pscs.co.uk/how_to:backup_vpop3?rev=1542192349&amp;do=diff</link>
        <description>How to Backup VPOP3

By default VPOP3 v3 and later will automatically perform a daily backup of the database into a file called DBBACK-x.DMP, where the backup file rotates on a weekly basis (DBBACK-0.DMP is Sunday&#039;s backup, DBBACK-1.DMP is Monday&#039;s backup, etc).</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:copy_outgoing_mail?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 Outgoing mail</title>
        <link>https://wiki.pscs.co.uk/how_to:copy_outgoing_mail?rev=1542192349&amp;do=diff</link>
        <description>Copy Outgoing mail

Sometimes people need to copy outgoing mail for various reasons. There are several ways of doing this in VPOP3 depending on your exact requirements:

	*  Message Monitoring - this copies all outgoing, incoming and/or internal mail sent by/to specific users to another specific user</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:download_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>Download Rules</title>
        <link>https://wiki.pscs.co.uk/how_to:download_rules?rev=1542192349&amp;do=diff</link>
        <description>Download Rules

Download rules are applied to messages downloaded using a POP3 mail collector.

To configure the rules, go to the VPOP3 settings, then Mail Connectors -&gt; Mail Collectors -&gt; POP3 General. There is an Edit Download Rules button which brings up the download rule editor. To tell this mail collector to use the download rules, ensure that the</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:limit_size_of_sent_mail?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>How to limit size of sent mail</title>
        <link>https://wiki.pscs.co.uk/how_to:limit_size_of_sent_mail?rev=1542192349&amp;do=diff</link>
        <description>How to limit size of sent mail

There are several ways to limit the size of mail which can be sent

	*  Limit the size of mail accepted by the SMTP component of VPOP3
	*  Limit the size sent for a particular user
	*  Limit size based on &#039;rules&#039;
	*  Limit size based on</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:restore_deleted_calendars?rev=1668771832&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-11-18T11:43:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Restore Deleted Calendars</title>
        <link>https://wiki.pscs.co.uk/how_to:restore_deleted_calendars?rev=1668771832&amp;do=diff</link>
        <description>Restore Deleted Calendars

This article will help if a user has been deleted and all their calendars are lost and need to be restored. Note that this functionality is not built into VPOP3, and requires the use of Python3 to run a script

First you need to install Python 3.8 or later, and the psycopg2 plugin</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/how_to:using_the_spam_filter?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>Using the VPOP3 Spam Filter</title>
        <link>https://wiki.pscs.co.uk/how_to:using_the_spam_filter?rev=1542192349&amp;do=diff</link>
        <description>Using the VPOP3 Spam Filter

	*  Training the Spam Filter
	*  Customising the spam filter scripts</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/how_to:write_your_own_spam_filter_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>How to write your own spam filter rules</title>
        <link>https://wiki.pscs.co.uk/how_to:write_your_own_spam_filter_rules?rev=1542192349&amp;do=diff</link>
        <description>How to write your own spam filter rules

VPOP3&#039;s spam filter uses a basic scripting language designed for filtering email messages, so a full description of writing your own rules would be very long and complex, as it is really something that only a programmer should do.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/mailapi:version_5_webmail_api?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>Version 5 Web Mail API</title>
        <link>https://wiki.pscs.co.uk/mailapi:version_5_webmail_api?rev=1542192349&amp;do=diff</link>
        <description>Version 5 Web Mail API

This section is only relevant for people who may want to access the WebMail features from their own scripts, or want to customise the standard Webmail pages. Note that no free support is available for this.

This is not a full list of features, but it will be updated from time to time.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:attachment_processing?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>Settings -&gt; Attachment Processing</title>
        <link>https://wiki.pscs.co.uk/reference:attachment_processing?rev=1542192349&amp;do=diff</link>
        <description>Settings -&gt; Attachment Processing

The Attachment Processing page allows you to configure VPOP3 to perform two distinct functions on messages that contain attachments:

	*  
	*  

Filtering

The Filtering tab is divided into four main sections: 

Attachment Filtering</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:message_headers?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>Message Headers</title>
        <link>https://wiki.pscs.co.uk/reference:message_headers?rev=1542192349&amp;do=diff</link>
        <description>Message Headers

This article describes some of the headers which VPOP3 can add to messages. Note that some of these may be added by customisable scripts used by VPOP3, so may not match exactly, but the descriptions below are for the defaults distributed with VPOP3.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:msgaudit?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>msgaudit Database table</title>
        <link>https://wiki.pscs.co.uk/reference:msgaudit?rev=1542192349&amp;do=diff</link>
        <description>msgaudit Database table

This can (optionally) contain data showing how messages have been handled (eg deleted, moved, etc)

	*  id - incrementing ID of msgaudit entry
	*  datetime - the date &amp; time the event occurred
	*  component - which VPOP3 component performed the event</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:os.timedexecute?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>os.timedexecute</title>
        <link>https://wiki.pscs.co.uk/reference:os.timedexecute?rev=1542192349&amp;do=diff</link>
        <description>os.timedexecute

The Lua function &#039;os.timedexecute&#039; runs an external program with a time limit

It takes three parameters:

	*  The program/command line to execute
	*  The time to wait for completion (in seconds). If this time expires, the program is terminated</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:reference?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>VPOP3 Reference</title>
        <link>https://wiki.pscs.co.uk/reference:reference?rev=1542192349&amp;do=diff</link>
        <description>VPOP3 Reference

This is a reference guide for VPOP3 version 3 or later&#039;s settings. For details on how to do things, rather than what a particular button does, see the how to section.

Also see the online manual:

	*  Users
	*  Lists
	*  Mappings
	*  Mail Connectors
	*  Services
	*  Settings
	*  Status
	*  Reports
	*  About

	*  Status Monitor

	*</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_comments?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: Comments</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_comments?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: Comments

In the spam filter scripts, blank lines are ignored.

Any line beginning with a # character is treated as a comment. Comments must be on a line of their own; there is no way to add a comment to the end of a line.

Examples</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_rule_names_and_weights?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: Rule names and weights</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_rule_names_and_weights?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: Rule names and weights

The script can designate names to refer to certain rules. This name is created using a DefineRule statement.

If you the follow a statement by a word in square brackets, when that statement is actioned, VPOP3 will add the specified word to a list of &#039;matched conditions&#039; which can be used in reporting.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_goto?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: Goto</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_goto?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: Goto
Statement  Goto Version  2.1.7+ Purpose  A mechanism for directing the script towards a specified label 
The Goto statement requires a label name, in the format
Goto &lt;label name&gt;
Labels are single word entries that appear on a line of their own, immediately preceded by the colon (:) character. 
The colon character is not part of the label name.</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_log?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: Log</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_log?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: Log
Statement  Log Version  2.1.11+ Purpose  Allows you to write entries to the spamrules log file 
The Log statement lets you write a custom entry to the SPAMRULES.LOG file. This can be useful for debugging scripts.

Example


Log &quot;Sender = ${MailFrom}&quot;</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_star_ifsupport?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: *IFSUPPORT</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_star_ifsupport?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: *IFSUPPORT
Statement  *IFSUPPORT Version  2.2.5+ Purpose  Allows the script to determine whether a particular command or function is supported by the installed version of VPOP3 
The *IFSUPPORT statement requires a command or a function, in the format</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_star_stop?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: *STOP</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_star_stop?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: *STOP
Statement  *STOP Version  2.2.5+ Purpose  Stops the parsing of the current spam filter script file 
The statements after the *STOP statement are not parsed, so will not cause syntax errors if they involve unrecognised commands.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_stop?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: Stop</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_stop?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: Stop
Statement  Stop Version  2.1.7+ Purpose  Stop processing the spam rules 
Example


# Statements
Stop
# The script has stopped processing before it gets to this line</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_surbl?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: SURBL</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_surbl?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: SURBL
Statement  SURBL Version  2.1.7+ Purpose  Allows a SURBL lookup on the specified hostname or IP address in the specified SURBL zone, and returns the result into the specified variable 
The SURBL statement requires a hostname, SURBL zone and variable name, in the format</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:spamrules_statement_zipcontents?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: ZipContents</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_zipcontents?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: ZipContents
Statement  ZipContents Version  6.7+ Purpose  Enables the script to obtain the list of files contained in a ZIP attachment 
The ZipContents statement requires a message section number and bag name, in the format
ZipContent &lt;message section number&gt; &lt;bag name&gt;</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_zipcontentsfull?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: ZipContentsFull</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_zipcontentsfull?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: ZipContentsFull
Statement  ZipContentsFull Version  6.7+ Purpose  Enables the script to obtain the list of files contained in a ZIP attachment 
The ZipContentsFull statement requires a message section number and bag name, in the format</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_zipcount?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: ZipCount</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_zipcount?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: ZipCount
Statement  ZipCount Version  6.7+ Purpose  Enables the script to obtain the number of files contained in a ZIP attachment 
The ZipCount statement requires a message section number and variable name, in the format
ZipCount &lt;message section number&gt; &lt;variable name&gt;</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:temporary_files?rev=1771523787&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-19T17:56:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Temporary Files</title>
        <link>https://wiki.pscs.co.uk/reference:temporary_files?rev=1771523787&amp;do=diff</link>
        <description>Temporary Files

This is for files in the VPOP3\_temp folder

Most of the filename is the hexadecimal timestamp (in Windows &#039;FILETIME&#039;/65536 form) with a 4 digit hex sequential number afterwards. The first letter or two (usually G-Z) can tell something about what caused the file.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:useful_other_things?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>Useful other things</title>
        <link>https://wiki.pscs.co.uk/reference:useful_other_things?rev=1542192349&amp;do=diff</link>
        <description>Useful other things

Scripts/batch files/etc which may be useful

	*  batch file to end a database backup</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.deletemessage?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>VPOP3.DeleteMessage Lua function</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.deletemessage?rev=1542192349&amp;do=diff</link>
        <description>VPOP3.DeleteMessage Lua function

The Lua management function &#039;VPOP3.DeleteMessage&#039; marks a specified message to be deleted, or removes the deleted flag.

Messages marked to be deleted will not be deleted immediately, but only when that mailbox is &#039;purged&#039; from an IMAP4 client.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.getfolders?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>VPOP3.GetFolders Lua function</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.getfolders?rev=1542192349&amp;do=diff</link>
        <description>VPOP3.GetFolders Lua function

The Lua management function &#039;VPOP3.GetFolders&#039; retrieves a table containing all the mail folders for a specified user.
VPOP3.GetFolders(username);
It returns a table where the key is the folder name (in IMAP4 UTF-7 encoded format - see</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.getmessages?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>VPOP3.GetMessages Lua function</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.getmessages?rev=1542192349&amp;do=diff</link>
        <description>VPOP3.GetMessages Lua function

The Lua management function &#039;VPOP3.GetMessages&#039; retrieves a table containing all the mail messages in a specified folder.
VPOP3.GetFolders(username, folder);
	*  username is the username from VPOP3.GetUsers
	*  folder is the folder from VPOP3.GetFolders

It returns a table where the key is the message UID and the value is a table of:</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.getsetting?rev=1544547961&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-12-11T17:06:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>VPOP3.GetSetting</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.getsetting?rev=1544547961&amp;do=diff</link>
        <description>VPOP3.GetSetting

The Lua function &#039;VPOP3.GetSetting&#039; retrieves a general setting from VPOP3

It takes one parameter:

	*  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</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.getusers?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>VPOP3.GetUsers Lua function</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.getusers?rev=1542192349&amp;do=diff</link>
        <description>VPOP3.GetUsers Lua function

The Lua management function &#039;VPOP3.GetUsers&#039; retrieves a table containing all the users defined in VPOP3, it takes no parameters and returns a table indexed from 1 to N where the values are the user names.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.markmessageread?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>VPOP3.MarkMessageRead Lua function</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.markmessageread?rev=1542192349&amp;do=diff</link>
        <description>VPOP3.MarkMessageRead Lua function

The Lua management function &#039;VPOP3.MarkMessageRead&#039; marks or unmarks a specified message as read.
VPOP3.MarkMessageRead(username, folder, UID, read);
	*  username is the username from VPOP3.GetUsers
	*  folder is the folder from VPOP3.GetFolders
	*  UID is the UID from</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.postgresquery?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>VPOP3.PostgresQuery</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.postgresquery?rev=1542192349&amp;do=diff</link>
        <description>VPOP3.PostgresQuery

The Lua function &#039;VPOP3.PostgresQuery&#039; performs a query on the PostgreSQL database and returns the results in a table

It takes a single parameter which is the SQL query to perform (Note that any relations used in the query must have the schema specified).</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.purgemessage?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>VPOP3.PurgeMessage Lua function</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.purgemessage?rev=1542192349&amp;do=diff</link>
        <description>VPOP3.PurgeMessage Lua function

The Lua management function &#039;VPOP3.PurgeMessage&#039; deletes the specified message immediately.
VPOP3.PurgeMessage(username, folder, UID);
	*  username is the username from VPOP3.GetUsers
	*  folder is the folder from VPOP3.GetFolders
	*  UID is the UID from VPOP3.GetMessages</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.renamefolder?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>VPOP3.RenameFolder Lua function</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.renamefolder?rev=1542192349&amp;do=diff</link>
        <description>VPOP3.RenameFolder Lua function

The Lua management function &#039;VPOP3.RenameFolder&#039; renames a folder for the specified user.
VPOP3.RenameFolder(username, folder, newname);
	*  username is the username from VPOP3.GetUsers
	*  folder is the folder from VPOP3.GetFolders
	*  newname is the new name for the folder.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:vpop3.sendmessage?rev=1628506726&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-08-09T10:58:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>VPOP3.SendMessage</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3.sendmessage?rev=1628506726&amp;do=diff</link>
        <description>VPOP3.SendMessage

The Lua function &#039;VPOP3.SendMessage&#039; sends a text email message

It takes four parameters:

	*  The email address of the sender
	*  The email address of the recipient
	*  The subject line
	*  The message body

The function returns one value:</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>
</rdf:RDF>
