msys.symantec_beik.scan
Name
msys.symantec_beik.scan — Scan using BEIK
Synopsis
msys.symantec_beik.scan(msg, vctx);
msg: userdata, ec_message type vctx: userdata, validate_context type
Description
In order for this function to work, you must configure the beik module. Be sure to load the module in passive mode by setting Enabled
to false
. This function can be invoked in the data, spool or each_rcpt phases. It will not work at the connect, ehlo, mailfrom or rcptto phases. msg
is the email to be scanned. Use this function to scan email.
A tuple is returned with the following members:
-
code
– the scan result. Returned values are numeric BEIK codes. -
beik_destination
– where the email should go. Returned values aretracker
,inbox
andis-spam
. -
is_default
– The returned value is0
or1
. When1
is returned, the mail should be dispatched to its original destination. -
tracker
a string suitable for use as a header.
require("msys")
require("msys.core")
require("msys.symantec_beik")
local mod = {}
function mod:validate_data(msg, accept, vctx)
print ("type(msg)", msys.type(msg))
print ("type(accept)", msys.type(accept))
print ("type(vctx)", msys.type(vctx))
local a, b, is_default, tracker = msys.symantec_beik.scan(msg, vctx)
if a == 0 then
print("Error found: ", b)
return msys.core.VALIDATE_DONE
else
print("return code:", a)
print("beik_destination:", b)
print ("beik_is_default:", is_default)
print("beik_tracker:", tracker)
return msys.core.VALIDATE_CONT
end
end
msys.registerModule("test_beik", mod);
Note: When the first returned value is 0
, an error has occurred. The second return value contains the error message.
Enable this function with the statement require('msys.symantec_beik');
.