Cedric - 2009-08-21 11:25:42
Thank you very much Mitul Koradia for this class !
I have had some problems around pop connection, so here are some solution, and also some tweaks.
1------------------
In the first place, I couldn't make the class work, and couldn't understand why. I then added the line
echo "\nConnection problem: " . imap_last_error()."\n";//for dubugging purposes only
in the receivemailmail.class.php, into the function connect() :
function connect() //Connect To the Mail Box
{
$this->marubox=@imap_open($this->server,$this->username,$this->password);
if(!$this->marubox)
{
echo "\nConnection problem: " . imap_last_error()."\n";//for dubugging purposes only
echo "\nError: Connecting to mail server\n";
exit;
}
}
this line should be a comment in the original class, but it would help programmers who want to understand why they get "Error: Connecting to mail server"
2------------------
Then I could see why I couldn't connect : the error line was like that :
Certificate failure for
As I didn't care about certificate, I wanted to force to check mail all the same.
I then changed slighlty receiveMail function.
($username,$password,$EmailAddress,$mailserver='localhost',$servertype='pop',$port='110',$ssl = false,$valCertificate = true) //Constructure
and then, for POP :
$strConnect='{'.$mailserver.':'.$port. '/pop3'.($ssl ? "/ssl" : "").($valCertificate ? "" : "/novalidate-cert").'}INBOX';
If the user doesn't specify anything about certificate, it's just the same as before.
If the user specifies that he don't want to have a validate certificate, the /novalidate-cert is added.
I hope that help !
3------------------
tweaks... :D
tweaks are quite subjective, so don't be offended about these proposals :)
You should add in the comment of your class where one can download the original class, so if one wants to do it another time, or get an updated version, he can.
You can write \n when you echo something as people may use command-line in the first place, and not a browser