So after a few months on hold, I finally found a worked out a fix for this problem. I'm not sure if this will help others, but here is the solution
in class.mailfetch.php I removed this:
$this->serverstr=sprintf('{%s/%s',$this->hostname,$this->port,strtolower($this->protocol));
if(!strcasecmp($this->encryption,'SSL')){
$this->serverstr.='/ssl/novalidate-cert';
}
$this->serverstr.='}INBOX';
and replaced it with this
$this->serverstr ="{".$this->hostname.":".$this->port."/".strtolower($this->protocol)."3/notls}INBOX";
now when I was trying to enter the user info in to the Mail Account (Optional) section of the mail setup page it would always give an authentication error of some sort. This was because the code was running the password through a decryption method as if it was just pulled from the database, but I worked out that the form even though populated from the database was sent to the connection method in plain text, this caused the error. so to bypass this and force the connection with the un-de-cypted pass word I had to temporarily replace this
$this->mbox =@imap_open($this->serverstr,$this->username,Misc:($this->password,SECRET_SALT));
with this
$this->mbox =@imap_open($this->serverstr,$this->username,$this->password);
then I filled out the form and activated the account to fetch from. Once the account had been tested and osticked accepted it I replaced the origonal line of code and everything worked fine.
This will over rule any SSL options you set for pulling in emails and only works with pop3 mail accounts. As this is on an internal mail server and it only reads the inbox pop3 with no SSL is all good for me.