This is an old revision of the document!
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
url = “https://s3.eu-central-1.wasabisys.com”; bucket = “<bucket name>”; accesskey = “<access key>”; secretkey = “<secret key>”; prefix = “extstore/”;
function GetMessagesToMoveToExternal()
local x = VPOP3.PostgresQuery("SELECT msgdataid FROM messages.msgdata WHERE NOT extmsg ORDER by msgdataid limit 1;")
if x.Rows > 0 then
return {x[1]["msgdataid"]}
else
return {}
end
end
function DownloadFromExternal(msgid, data, filename)
ret,retstr = VPOP3Net.S3Get(url, bucket, accesskey, secretkey, prefix .. msgid, filename);
if ret == 0 then
return true, data
else
return false, retstr
end
end
function UploadToExternal(msgid, filename)
ret,retstr = VPOP3Net.S3Put(url, bucket, accesskey, secretkey, prefix .. msgid, filename);
if ret == 0 then
return true, "abc"
else
return false, retstr
end
end
function DeleteFromExternal(msgid)
ret,retstr = VPOP3Net.S3Delete(url, bucket, accesskey, secretkey, prefix .. msgid);
if ret == 0 then
return true, "abc"
else
return false, retstr
end
end
function GetTidyLocalHours(h, c)
return 5, 1
end
function GetNextIterationDelay(r, d)
return 10000;
end