kongowea Posted October 21, 2007 Share Posted October 21, 2007 Hi, Please assist me with a PHP code that can capture a displayed HTML body and mail it to a specific email account. Hint: I tried to capture the page using grabURL function though since the page is secured, the recipient is forwarded a login page, but not the displayed page The class I used is: <?php class grabUrl{ var $toEmail=""; var $mailSubject=""; var $mailHeaders=""; var $addHeaders=""; var $grabData=""; function createTo($email){ $this->toEmail=$email; } function createCC($email){ $this->mailHeaders.="Cc: $email\r\n"; } function createBCC($email){ $this->mailHeaders.="Bcc: $email\r\n"; } function createSubject($sub){ $this->mailSubject=$sub; } function createFrom($name,$email){ $this->mailHeaders.="From: '$name' <$email>\r\n"; } function sendMail($charset="iso-8859-1"){ $this->mailHeaders.="MIME-Version: 1.0\r\n"; $this->mailHeaders.="Content-type: text/html; charset=$charset\r\n"; // alternate is utf-8 if(mail($this->toEmail,$this->mailSubject,$this->grabData,$this->mailHeaders)){ return true; }else{ return false; } } function getData($url,$use_include_path=0){ $file = @fopen($url, 'rb', $use_include_path); if ($file){ if ($fsize = @filesize($filename)){ $data = fread($file, $fsize); }else{ while (!feof($file)){ $data .= fread($file, 1024); } } fclose($file); } $this->grabData=$data; } function showPage(){ echo $this->grabData; } function returnData(){ return $this->grabData; } } /* Sample Usage */ /* $foo=new grabUrl(); $foo->createTo("xxx@xxx.com"); $foo->createCC("xxx@qqq.com"); $foo->createBCC("xxx.www.com"); $foo->createFrom("Vedanta Barooah","xxx@ssss.com"); $foo->createSubject("This is a test mail! Please Ignore!"); $foo->getData("http://www.bbc.co.uk"); if($foo->sendMail()){ echo "Mail Sent!"; }else{ echo "Error Sending Mail!"; } */ ?> Below is the code that calls the above class <? include("sendMail.php"); $foo=new grabUrl(); $foo->createTo("kongowea@ppp.com"); $foo->createCC("kongowea@ccc.com"); $foo->createFrom("kongowez@rrrr.com"); $foo->createSubject("My trial"); $foo->getData("http://www.phpfreaks.com/forums/index.php"); if($foo->sendMail()){ echo "Mail Sent!"; }else{ echo "Error Sending Mail!"; } ?> Regards Kongowea Quote Link to comment Share on other sites More sharing options...
steve448 Posted October 21, 2007 Share Posted October 21, 2007 If you want to get the contents of a protected page then you would need to give your script the login details of the page, otherwise it is going to see the same thing if you visited the site with your browser, the login page. Quote Link to comment Share on other sites More sharing options...
kongowea Posted November 23, 2007 Author Share Posted November 23, 2007 Hi steve448, Thanks man, but the problem is that the class I used grabs the URL, I would like an assistance with a code that can grab the HTML page displayed (with its contents and emailed) and not the URL. Thanks in advance Quote Link to comment Share on other sites More sharing options...
BenInBlack Posted November 23, 2007 Share Posted November 23, 2007 checkout http://www.php.net/manual/en/function.file-get-contents.php you can use urls in this function Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.