<?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-30T02:05:39+00:00</dc:date>
        <items>
            <rdf:Seq>
                <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:quarantine_mailer_script?rev=1779800121&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:external_message_store_script?rev=1778767990&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:lua_scripting?rev=1779272556&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_getsectionmd5?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_getdecodedsection?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_getsectionencoding?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:attachment_processing_script?rev=1779484112&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:lua_smtp_server_script?rev=1780051175&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:imap4_server_script?rev=1779813984&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_statement_getaddresstype?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_getmd5?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_getrfc822date?rev=1692028395&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_getusergroup?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3.getmessages?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:autoresponder_commands?rev=1542192349&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:spamrules_statement_foreach?rev=1542192349&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:lan_forwarding_script?rev=1755706120&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:pop3_collection?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.markmessageread?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:archive_script?rev=1679787211&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:bandwidth_management_script?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:reset_message_folder_counts?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.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.renamefolder?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:vpop3net.gethttp?rev=1615308164&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:access_restrictions_internal_format?rev=1690964557&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:attachment_processing?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:database_restore?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:get_all_lists_members?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:list_all_messages_in_lan_forwrding_queue?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:list_messages_in_lan_forwrding_queue_waiting_to_go_to_a_specific_server?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:mail_collectors?rev=1542192349&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:sender_advanced_settings?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:smtp_reputation_stats?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_addrandomtexttosubject?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_assignments?rev=1542192349&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_statement_goto?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:spamrules_statement_random?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:spamrules_statement_stop?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:spamrules_subject?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:status_monitor_protocol?rev=1566205125&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:useful_database_queries?rev=1773658952&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:user_prune_rules?rev=1542192349&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.pscs.co.uk/reference:user_routing?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: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: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:quarantine_mailer_script?rev=1779800121&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-26T12:55:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Quarantine Report Mailer Scripting</title>
        <link>https://wiki.pscs.co.uk/reference:quarantine_mailer_script?rev=1779800121&amp;do=diff</link>
        <description>Quarantine Report Mailer Scripting

(Added in v9.1)

This script is called when VPOP3 is mailing out (or considering mailing out) spamfilter quarantine reports. It allows customisation of the emailed reports and whether they&#039;re generated

AreMailsNeeded</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:external_message_store_script?rev=1778767990&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-14T14:13:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>External Message Store Scripting</title>
        <link>https://wiki.pscs.co.uk/reference:external_message_store_script?rev=1778767990&amp;do=diff</link>
        <description>External Message Store Scripting

Added in VPOP3 Enterprise v9.1

This allows some messages to be stored in an external message store somewhere, accessed via S3, SFTP or similar

DownloadFromExternal
function DownloadFromExternal(MsgDataId, ExtData, TargetFileName)</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:lua_scripting?rev=1779272556&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-20T10:22:36+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=1779272556&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:spamrules_statement_getsectionmd5?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: GetSectionMD5</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_getsectionmd5?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: GetSectionMD5
Statement  GetSectionMD5 Version  2.3.6+ Purpose  Performs an MD5 hash on a specified MIME section of the message, and returns the result into the specified variable in hex encoded form 
The GetSectionMD5 statement requires a message section number and variable name, in the format</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_getdecodedsection?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: GetDecodedSection</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_getdecodedsection?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: GetDecodedSection
Statement  GetDecodedSection Version  2.1.11+ Purpose  Returns a specified MIME section of a message into a variable, after processing any Base64 or Quoted-Printable encoding of the raw message data 
The GetDecodedSection</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_getsectionencoding?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: GetSectionEncoding</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_getsectionencoding?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: GetSectionEncoding
Statement  GetSectionEncoding Version  2.3.9+ Purpose  Retrieves the MIME encoding method for the specified MIME section number, and returns the result into the specified variable 
The GetSectionEncoding statement requires a message section number and variable name, in the format</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:attachment_processing_script?rev=1779484112&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-22T21:08:32+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=1779484112&amp;do=diff</link>
        <description>Attachment Processing Script

(Added in v7.6)

This is the AttachmentProcess.lua script which can be edited in Settings -&gt; Scripts.

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

	*  NeedsRecode
	*  NeedsRewrite
	*  GetRename</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:lua_smtp_server_script?rev=1780051175&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-29T10:39:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>End()</title>
        <link>https://wiki.pscs.co.uk/reference:lua_smtp_server_script?rev=1780051175&amp;do=diff</link>
        <description>End()

End()

This function is called by VPOP3 when the SMTP service session ends

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:imap4_server_script?rev=1779813984&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-26T16:46:24+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=1779813984&amp;do=diff</link>
        <description>IMAP4 Server Scripting

(Added in V6.12)

DoCapability function

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

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

The Lua script is stored in a file called signature.lua</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_getaddresstype?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Spam Filter Rules: GetAddressType</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_getaddresstype?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: GetAddressType
Statement  GetAddressType Version  2.4.6+ Purpose  Analyses a specified email address and reports what &#039;type&#039; of address it is 
The GetAddressType statement requires an email address and variable name, in the format</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_getmd5?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: GetMD5</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_getmd5?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: GetMD5
Statement  GetMD5 Version  2.3.6+ Purpose  Performs an MD5 hash on a string, and returns the result into the specified variable in hex encoded form 
The GetMD5 statement requires a string and variable name, in the format
GetMD5 &lt;string&gt; &lt;variable name&gt;</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_getrfc822date?rev=1692028395&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-14T15:53:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Spam Filter Rules: GetRFC822Date</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_getrfc822date?rev=1692028395&amp;do=diff</link>
        <description>Spam Filter Rules: GetRFC822Date
Statement  GetRFC822Date Version  2.2.1+ Purpose  Converts an RFC 822 format date field into the number of days elapsed since 1st January 1601 
The GetRFC822Date statement requires a date in RFC 822 format and a variable name, in the format</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:spamrules_statement_getusergroup?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Spam Filter Rules: GetUserGroup</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_getusergroup?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: GetUserGroup
Statement  GetUserGroup Version  2.4.5+ Purpose  Checks if the specified user is assigned to a VPOP3 group, and returns the group name 
The GetUserGroup statement requires a username and variable name, in the format
GetUserGroup &lt;username&gt; &lt;variable name&gt;</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference: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:autoresponder_commands?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>Autoresponder Commands</title>
        <link>https://wiki.pscs.co.uk/reference:autoresponder_commands?rev=1542192349&amp;do=diff</link>
        <description>Autoresponder Commands

This article only applies to VPOP3 v4 and earlier

A VPOP3 autoresponder can contain special text strings to create special behaviour, in addition to plain text as part of the response.

There are three types of &#039;command&#039;

	*</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:spamrules_statement_foreach?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: ForEach</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_foreach?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: ForEach
Statement  ForEach Version  2.1.7+ Purpose  Causes a loop to be run through for all values within specified criteria 
The ForEach statement requires either two or three parameters (depending on the type of loop that is being conducted), in the format</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: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: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:pop3_collection?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>POP3 Mail Collection</title>
        <link>https://wiki.pscs.co.uk/reference:pop3_collection?rev=1542192349&amp;do=diff</link>
        <description>POP3 Mail Collection

POP3 Mail Collection is when VPOP3 will collect mail from an external POP3 mailbox - for instance, from an Internet Provider.

POP3 General

This page tells VPOP3 how to collect mail.



	*  POP3 Server Address - this is the name (or IP address) of the POP3 server from which you want VPOP3 to collect mail</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.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.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: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:bandwidth_management_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>Bandwidth Control</title>
        <link>https://wiki.pscs.co.uk/reference:bandwidth_management_script?rev=1542192349&amp;do=diff</link>
        <description>Bandwidth Control

(VPOP3 Enterprise Only)

Every time a connection is made to a VPOP3 service, or a user logs into a service, VPOP3 Enterprise runs a Lua function which can assign the connection a bandwidth pool, or assign a bandwidth limit on the connection.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:reset_message_folder_counts?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>Reset Message Folder Counts</title>
        <link>https://wiki.pscs.co.uk/reference:reset_message_folder_counts?rev=1542192349&amp;do=diff</link>
        <description>Reset Message Folder Counts

In extremely rare cases, the mail folder message counts in the database may get out of step with the actual stored messages. There are database triggers which will keep the counts in sync during normal operation, but if you have to manipulate the database directly (eg to recover from a corrupted database) it is possible that they will get out of step.</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.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.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:vpop3net.gethttp?rev=1615308164&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-09T16:42:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>VPOP3Net.GetHTTP</title>
        <link>https://wiki.pscs.co.uk/reference:vpop3net.gethttp?rev=1615308164&amp;do=diff</link>
        <description>VPOP3Net.GetHTTP

This function takes a single parameter

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

The function returns two values

	*  a table containing the result of the GET
		*  Host - the hostname
		*  File - the filename
		*  Headers - a table containing the response headers</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:access_restrictions_internal_format?rev=1690964557&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-02T08:22:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Access Restrictions Internal Format</title>
        <link>https://wiki.pscs.co.uk/reference:access_restrictions_internal_format?rev=1690964557&amp;do=diff</link>
        <description>Access Restrictions Internal Format

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

These are stored in the settings database as *ALLOWED*.DAT (using VPOP3SETTINGS GET *ALLOWED*.DAT will list them)</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference: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: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:database_restore?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>Database -&gt; Restore Tab</title>
        <link>https://wiki.pscs.co.uk/reference:database_restore?rev=1542192349&amp;do=diff</link>
        <description>Database -&gt; Restore Tab

This tab is only in VPOP3 Enterprise (v5 and later), and is for performing a partial (mailbox/mail folder) restore of the database. To do a full restore of the database, or for VPOP3 Basic/Standard, see the “Restore a Backup of VPOP3” topic

Using the</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:get_all_lists_members?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>Database query to get all lists and members</title>
        <link>https://wiki.pscs.co.uk/reference:get_all_lists_members?rev=1542192349&amp;do=diff</link>
        <description>Database query to get all lists and members

At a command prompt in the VPOP3 directory run
psql

(The password is &#039;vpop3pass&#039;)

Then, type
\copy (select l.name, address from users.listmembers m inner join users.lists l on m.list=l.id) to &#039;c:/temp/x.csv&#039; csv header;</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:list_all_messages_in_lan_forwrding_queue?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>Database query to list ALL messages in the LAN forwarding queue</title>
        <link>https://wiki.pscs.co.uk/reference:list_all_messages_in_lan_forwrding_queue?rev=1542192349&amp;do=diff</link>
        <description>Database query to list ALL messages in the LAN forwarding queue

The VPOP3 settings show the first 100 messages in the LAN forwarding queue. Usually this is sufficient as the LAN forwarding queue is usually nearly empty, but in case of a problem it may be much bigger. The database queries below may help in that situation.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:list_messages_in_lan_forwrding_queue_waiting_to_go_to_a_specific_server?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>Database query to list messages in the LAN forwarding queue waiting to go to a specific server</title>
        <link>https://wiki.pscs.co.uk/reference:list_messages_in_lan_forwrding_queue_waiting_to_go_to_a_specific_server?rev=1542192349&amp;do=diff</link>
        <description>Database query to list messages in the LAN forwarding queue waiting to go to a specific server

The VPOP3 settings show the first 100 messages in the LAN forwarding queue. Usually this is sufficient as the LAN forwarding queue is usually nearly empty, but in case of a problem it may be much bigger. The database queries below let you list just messages going to a specific server.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:mail_collectors?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Mail Collectors</title>
        <link>https://wiki.pscs.co.uk/reference:mail_collectors?rev=1542192349&amp;do=diff</link>
        <description>Mail Collectors

A Mail Collector is how you tell VPOP3 to collect incoming mail. 

Each Mail Collector is associated with one or more Connections. The VPOP3 Connector Schedule determines when each Connection is run.

Mail Collector General Tab

Each Mail Collector has a General</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:sender_advanced_settings?rev=1542192349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-14T10:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Mail Sender Advanced Settings</title>
        <link>https://wiki.pscs.co.uk/reference:sender_advanced_settings?rev=1542192349&amp;do=diff</link>
        <description>Mail Sender Advanced Settings

Mail Connectors -&gt; Mail Senders -&gt; (name) -&gt; Advanced

Advanced

Domain Filtering

For VPOP3 v6.11 and later, see the Domain Filtering section of the user manual.

The Domain Filtering box lets you restrict which email messages are sent via this Mail Sender.

You specify each rule on a separate line, and the message will be sent if it matches any sender rule</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:smtp_reputation_stats?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 Reputation Stats</title>
        <link>https://wiki.pscs.co.uk/reference:smtp_reputation_stats?rev=1542192349&amp;do=diff</link>
        <description>SMTP Reputation Stats

(Added in v6.20)

If you receive email by direct incoming SMTP (not via an ISP or filtering service) then you can tell VPOP3 to report sender reputation statistics back to VPOP3. This is enabled/disabled in the Settings -&gt; Misc Settings page.</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_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:spamrules_assignments?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: Assignments</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_assignments?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: Assignments

You can assign values to variables using the syntax


${variable} = value | ${variable}


Assignment operators

The spam filter rules support the following assignment operators:
=  Specify the value of the variable to equal the value after the assignment operator</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_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_random?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: Random</title>
        <link>https://wiki.pscs.co.uk/reference:spamrules_statement_random?rev=1542192349&amp;do=diff</link>
        <description>Spam Filter Rules: Random
Statement  Random Version  2.5.2+ Purpose  Generates a random number 
The Random statement requires a lower and higher numeric bound, and a variable to assign the result to, in the format
Random &lt;lower&gt; &lt;higher&gt; &lt;variable&gt;
	*</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: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_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: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:status_monitor_protocol?rev=1566205125&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-19T08:58:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Status Monitor (port 5109) protocol</title>
        <link>https://wiki.pscs.co.uk/reference:status_monitor_protocol?rev=1566205125&amp;do=diff</link>
        <description>Status Monitor (port 5109) protocol

This page documents the protocol used between VPOP3 and the Status Monitor. It&#039;s not intended for any other purpose, so it&#039;s a bit limited, but in certain cases you may find this useful

Login

Before the Status Monitor receives any updates or can issue commands it must log in using a user&#039;s credentials.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:useful_database_queries?rev=1773658952&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-16T11:02:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Useful Database Queries</title>
        <link>https://wiki.pscs.co.uk/reference:useful_database_queries?rev=1773658952&amp;do=diff</link>
        <description>Useful Database Queries

Below are some database (SQL) queries which may be useful in some situations. You can run these from the &#039;psql&#039; program at the command prompt. Some can also be run from the Settings -&gt; Database -&gt; Query page in the VPOP3 settings.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:user_prune_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>Prune Rules</title>
        <link>https://wiki.pscs.co.uk/reference:user_prune_rules?rev=1542192349&amp;do=diff</link>
        <description>Prune Rules

The Edit User -&gt; Prune Rules tab can be used to create/edit rules which cause messages to be automatically deleted according to specified criteria.

To add or edit a “prune rule”, press the Add Rule button. This will add a new rule to the table, with a set of default settings. Don&#039;t worry, this rule doesn&#039;t take effect until you press the Submit button.</description>
    </item>
    <item rdf:about="https://wiki.pscs.co.uk/reference:user_routing?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 Routing Options</title>
        <link>https://wiki.pscs.co.uk/reference:user_routing?rev=1542192349&amp;do=diff</link>
        <description>User Routing Options

Assistant

The assistant for a user is an email address (or set of email addresses, separated by semicolons) where incoming messages to this user will be copied or redirected.

Normally messages will be copied to the assistant, but if the</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>
</rdf:RDF>
