PHP mail versturen

  • Onderwerp starter Onderwerp starter York
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

York

Terugkerende gebruiker
Lid geworden
24 nov 2001
Berichten
1.289
Ik heb een php scriptje dat bij bepaalde statusen een mail moet versturen naar mij. Echter nu verzend die geen mail naar mij iemand enig idee wat er fout is. Ik heb het even hieronder geplaatst het zou hierin moeten zitten als het klopt.

PHP:
<?
class Mail
{
    var $from   = "\"Admin\" <test@test.nl>"; 

	function new_user($docu,$exc)
	{
		$subject = "Status";
		$to = "\"Admin\" <test@hotmail.com>"; 
		$to = str_replace("\\'", "'", $to);

        $message = "
Naam: ".$docu.".".$exc."
";
        mail($to, $subject, $message, "From: ".$this->from);

    }
}

?>
 
Misschien zit de fout in het onderstaande stukje script, bij de andere script pagina's word deze functie namelijk niet uitgevoerd.

PHP:
<?
/*
#
# (c)2006
*/

//@set_time_limit(45); //limit time
require('class/sql.class.php');

	/* DE FUNCTIE OM TE KIJKEN OF docu VRIJ IS! */

    function check($id,$status1,$status2,$docu,$exc)
    {
	If($status1=="2")
	{
        	If($status1!=$status2)
        	{
        	  	   $db = new DB_SQL;
		           $query = "UPDATE p_docu SET status='$status1' WHERE id='$id'";
		           $db->query($query);
		           // verstuur waarschuwingsmail
        	        //require_once "class/mail.class.php";
        	        //$mail = new Mail;
        	        //$mail->new_user($docu,$exc);
        	        return true;
        	}
	}
    }

	function whois($server,$docu,$ext)
	{
		$domein = $docu.".".$ext;
		$fp = fsockopen($server, 43);
		$data = "";
   		if($fp)
		{
        		fputs($fp,"is ".$docu."\r\n");
        		while(!feof($fp))
		{
       			$data.=fread($fp,100);
   		}
        		fclose($fp);
  		}
		else
		{
        		$data = "Error, can't open connection";
    	}

		if (eregi ("Can\'t get information|no match|not found|", $data))
		{
			$check='2';

		}
		else
		{
			$check='1';
		}

	    return $check;
	}

	$db = new DB_SQL;
	$query = "SELECT * FROM p_docu";
	$db->query($query);
	while($db->next_record())
	{
		 $a++;
	   $db1 = new DB_SQL;
	   $query1 = "SELECT * FROM p_servers WHERE extentie='".$db->Record["docu"]."'";
	   $db1->query($query1);
	   while($db1->next_record())
	   {
             check($db->Record["id"],whois($db1->Record["server"],$db->Record["docu_name"],$db->Record["extentie"]),$db->Record["status"],$db->Record["docu_name"],$db->Record["extentie"]);
		//echo $db->Record["docu_name"]." $a ".date('h:i:s')."<br>";
       	   }

		If($a=="11")
		{
		     $a="1";
	 		flush();
		    sleep(10);
		}
        }

?>
 
Hier al gekeken?

Probeer eens een lege mail functie...
 
Waarom gebruik je 'n hele class voor 'n standaard mail () functie..
 
Geplaatst door masterprut
Waarom gebruik je 'n hele class voor 'n standaard mail () functie..
Niet iedere server heeft een mailserver, dan moet je overschakelen op een externe mailserver.

En als je 400 mailtjes wil versturen (maillist, spam, weet ik waarvoor), dan heb je geen zin om 400 keer een verbinding met de mailserver te openen, data te sturen en te sluiten. Dan is 't performance-gezien veel beter om één maal die verbinding te openen en te sluiten, en al je data er in één keer naar toe te pompen :)
 
Haha niks van spam hoor, stuurt gemiddeld een keer in de maand een e-mailtje om me over bepaalde ontwikkelingen op de hoogte te houden.

@ Tha Devil, ik ben niet echt heel bekent met scripten dit heb ik speciaal door een php programmeur laten bouwen. Waar zou de lege mailfunctie moeten komen in het eerste script of in het tweede bij de mail functie?
 
PHP:
$subject = "Status";
$to = "[hier je eigen adres]"; 
$message = "Dit is een test";

mail($to, $subject, $message);

Als je dit in een nieuw php bestandje zet en upload kun je zien of er idd een mailtje wordt verstuurd...

//edit

Volgens mij heb ik je fout gevonden... Ik moet me sterk vergissen is test@test.nl niet jou e-mail adres...

In je eerste bericht zou ik dan ook test@test.nl wijzigen in jou eigen e-mail adres, wellicht is dat de oorzaak ;)
 
Laatst bewerkt:
Ik zal het even in een nieuw php bestandje zetten :)

Die mail adressen zijn om mijn eigen mail adres te beschermen ;)
 
:o tja dat kan natuurlijk ook...

Maar al wat nieuws?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan