Name

global.TestIMAPConnectionWorker

Description

No description available

Script

var TestIMAPConnectionWorker = Class.create();

TestIMAPConnectionWorker.prototype = {
initialize : function() {
  this.outputSummary = "";
  gs.log('TestIMAPConnectionWorker initializing....');
},

process: function(account_id) {
   var msg = "";
   var agr = new GlideRecord("sys_email_account");
   gs.log('TestIMAPConnectionWorker.process() = ' + account_id);
   agr.get(account_id);

   worker.setProgressState("running");
   worker.addMessage("Testing " + agr.name);
   var auth = agr.getValue('authentication');

   var p = new GlideEmailReader.getEmailReader(agr);
   if ( p == null ){
     gs.log("Error retrieving EmailReader, EmailReader is null.");
     return;
   }

   this._addMessage("Connecting to message store");
   var store = p.getStore();
   if (store == null) {
     this._setError("Connection failed");
     return;
   }

   var isConnected = store.isConnected();
   if (!isConnected) {
     this._setError("Connection failed");
     return;
   }
   this._addMessage("- Connected to message store");

   this._addMessage("Getting folder INBOX");
   var folder = store.getFolder("INBOX");
   if (folder == null) {
     this._setError("Cannot get INBOX folder");
     return;
   }
   this._addMessage("- Got folder INBOX");

   folder.open(2); // Folder.READ_WRITE
   if (!folder.isOpen()) {
     this._setError("Cannot open INBOX folder");
     return;
   }

   var kount = folder.getMessageCount();
   this._addMessage(kount + " message(s) is waiting in the INBOX");

   store.close();
   worker.addMessage("Testing complete");
   worker.setProgressState("complete");

   worker.setOutputSummary(this.outputSummary);
},

_addMessage : function (msg) {
  worker.addMessage(msg);
  this.outputSummary += msg + "\n";
},

_setError : function (msg) {
   msg += ": ";
   worker.setProgressState("error");
   worker.setProgressStateCode("error");
   var sgr = new GlideRecord("sys_status");
   sgr.addQuery("name", "glide.imap.status");
   sgr.query();
   if (sgr.next())
     msg += sgr.value;

   worker.addMessage(msg);
}
}

Sys ID

342c437c7f00000112ce989610d8553a

Offical Documentation

Official Docs: