User Tools

Site Tools


reference:external_message_store_script

This is an old revision of the document!


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

Example

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

reference/external_message_store_script.1778767540.txt.gz · Last modified: by paul