Hoi ik heb een vraagje over een tutorial die ik ging volgen waarbij er de php mail() functie werd gebruikt. Hier is de link van de tutorial: https://www.youtube.com/watch?v=a8x-pdQM9Cc&index=6&list=PLlkGN-8wjPHV41Y12LFD8uttbAd1d_ohe

De php mail() functie werkt wel, omdat hij true als waarde terug geeft. Maar ik ontvang geen email als ik een account registreer. Dit had ik dus getest met de volgende stukje code:


if(mail($to, $subject, $message, $headers)){
echo "Email has been sent to<b> ".$to."</b>";
}
else{
echo "Failed sending message to <b> ".$to."</b>.";
}


Maar ik weet nog steeds niet hoe ik dit probleem kan fixen. Kan iemand me misschien helpen?

Hier is de rest van mijn code die ik gebruik:
// END FORM DATA ERROR HANDLING
	    // Begin Insertion of data into the database
		// Hash the password and apply your own mysterious unique salt
		$cryptpass = crypt($p); //<-- dit wordt een 30 bit/characters cryptic hash
		include_once ("php_includes/randStrGen.php");
		$p_hash = randStrGen(20)."$cryptpass".randStrGen(20);
		// Add user info into the database table for the main site table
		$sql = "INSERT INTO users (username, email, password, gender, country, ip, signup, lastlogin, notescheck)       
		        VALUES('$u','$e','$p_hash','$g','$c','$ip',now(),now(),now())";
		$query = mysqli_query($db_conx, $sql); //<-- Dit runt de query
		$uid = mysqli_insert_id($db_conx);
		// Establish their row in the useroptions table
		$sql = "INSERT INTO useroptions (id, username, background) VALUES ('$uid','$u','original')";
		$query = mysqli_query($db_conx, $sql);
		// Create directory(folder) to hold each user's files(pics, MP3s, etc.)
		if (!file_exists("user/$u")) { //Als de folder met de naam van de user niet bestaat, dan maken we die folder aan.
			mkdir("user/$u", 0755); //0755 zijn de folder permissies oftewel chmod
		}
		// Email the user their activation link
		$to = "$e";	
				 
		$from = "[email protected]"; 
		
		/*als je een email gebruikt die ook op de server(van je host (=yomacho.host56.com)) draait 
		*en waar je website ook draait. Dan ontvangt de user een email in zijn inbox en niet in zijn junkbox. */
		$subject = 'Facebook Clone Account Activation';
		$message = '<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Facebook Clone Message</title></head><body style="margin:0px;
		 font-family:Tahoma, Geneva, sans-serif;"><div style="padding:10px; background:#333; font-size:24px; color:#CCC;">
		 <a href="http://www.yoursitename.com"><img src="http://www.yoursitename.com/images/logo.png" width="36" height="30" alt="Facebook Clone"
		 style="border:none; float:left;"></a>yoursitename Account Activation</div><div style="padding:24px; font-size:17px;">Hello '.$u.',<br /><br />
		 Click the link below to activate your account when ready:<br /><br /><a href="http://http://yomacho.host56.com/activation.php?id='.$uid.'&u='.$u.'&e='.
		 $e.'&p='.$p_hash.'">Click here to activate your account now</a><br /><br />Login after successful activation using your:<br />* E-mail Address: 
		 <b>'.$e.'</b></div></body></html>';
		$headers = "From: $fromn";
        $headers .= "MIME-Version: 1.0n";
        $headers .= "Content-type: text/html; charset=iso-8859-1n";
		
		//mail($to, $subject, $message, $headers);
		if(mail($to, $subject, $message, $headers)){
			echo "Email has been sent to<b> ".$to."</b>";
		}
		else{
			echo "Failed sending message to <b> ".$to."</b>.";
		}

		echo "signup_success";
		exit();


Ook vind ik het geen probleem als iemand me wilt helpen via Skype. Omdat ik dat ook waardeer :).

Mvg,

superky
- SanThe - op 13/08/2014 20:54:21

Kan je niet in de maillog kijken?


Bij 000webhost kan dat volgens mij niet :(. Daar kan je sowieso geen SSH gebruiken, zodat ik naar die path kan gaan waar de maillogs inzitten. Maar ik heb het gevoel dat het aan de code ligt. Want ik gebruik namelijk javascript om de data te versturen naar de browser. En daarin wordt het verder verwerkt in php waarin een mailtje wordt verstuurd naar de gebruiker.

In de template die ik gebruik had om te testen of de mail() functie werkt, werd alleen maar php code gebruikt. Ik wil mijn javascript code hier ook posten, maar dat kan niet omdat er hier een limiet zit van 1000 karakter. Ik zal dus een externe link sturen waarin jullie de code kunnen zien, hier de link:

http://pastebin.com/uMPqzKz1

Ik hoop dat jullie me kunnen helpen :).



[size=xsmall]Toevoeging op 14/08/2014 14:56:35:[/size]

Als er geen oplossing dan kan ik het beter laten. Ik ben nu toch de code aan het veranderen.
Als je vanaf diezelfde pagina een simpel mailtje verstuurd. Komt dat dan wel aan?
Iets van mail('[email protected]', 'test', 'inhoud');

Reageren