Kopie bericht naar afzender

Status
Niet open voor verdere reacties.

Lavendel

Gebruiker
Lid geworden
3 apr 2012
Berichten
19
Hallo,

Ik heb een website gemaakt met een contactformulier (www.francetastique.eu). Het formulier werkt prima. Alle ingevoerde gegevens krijg ik via de mail. Alleen krijg ik het niet voor elkaar hoe de afzender een kopie van zijn bericht krijgt toegezonden. Ik heb zitten zoeken hoe anderen het doen, maar alles wat ik ook probeer, het lukt mij niet om de afzender een kopie van zijn bericht te doen toekomen. Helaas is php niet mijn ding. Kan iemand mij helpen om in onderstaand php-bestand aan te geven hoe ik alsnog dit voor elkaar kan krijgen. Volgens mij moet dat in dit bestand ergens geregeld worden. Maar hoe?
Alle hulp is welkom.
PS Ik heb als mijn emailadres even voor hier ingevuld als MIJN EMAILADRES

Ik gebruik dit php-bestand:
PHP:
<?php

	$autoResponse = true; //if set to true autoresponse email will be sent, if you don't want autoresponse set it to false
	$autoResponseSubject = "Contact FranceTastique";
	$autoResponseMessage = "Hi, bedankt voor het invullen van het contactformulier op de website van FranceTastque.eu";
	$autoResponseHeaders = "From: [email]contact@francetastique.eu[/email]";

    //we need to get our variables first
    
    $email_to =   'MIJN EMAILADRES'; //the address to which the email will be sent
    $name     =   $_POST['name'];  
    $email    =   $_POST['email'];
    $subject  =   $_POST['subject'];
    $message  =   $_POST['message'];
    
    /*the $header variable is for the additional headers in the mail function,
     we are asigning 2 values, first one is FROM and the second one is REPLY-TO.
     That way when we want to reply the email gmail(or yahoo or hotmail...) will know 
     who are we replying to. */
    $headers  = "From: $email\r\n";
    $headers .= "Reply-To: $email\r\n";
    
    if(mail($email_to, $subject, $message, $headers)){
        echo 'sent'; // we are sending this text to the ajax request telling it that the mail is sent..      
    }else{
        echo 'failed';// ... or this one to tell it that it wasn't sent    
    }
?>

Alvast bedankt voor je reactie.
 
Laatst bewerkt door een moderator:
Je kunt gewoon een header regel toevoegen voor de CC of de BCC (aangezien het naar jezelf gaat zou ik voor BCC gaan zodat de 'klant' dit niet ziet).
Code:
$headers .= 'Bcc: mail@example.com' . "\r\n";

Nog een andere opmerking: in je code haal je de POST waardes op maar valideer je niet wat je binnen krijgt. Daardoor is het mogelijk om 'form injection' te doen.

Dit kun je afvangen met behulp van
Code:
// het is al weer even geleden dat ik in de PHP zat dus je zou het nog even kunnen googlen.

htmlspecialchars($_POST['variable']);
OF
strip_tags($_POST['variable']);
Je moet er namelijk niet zomaar vanuit gaan alles wat je binnen krijgt ook voldoet aan jou 'regels'.
 
Laatst bewerkt:
Hallo gast0195,
Dankje wel voor het moeite nemen om mijn vraag te beantwoorden. Ik heb zoals je aangaf bij de headers nog een regeltje toegevoegd:

$headers .= 'Bcc: MIJN@EMAILADRES.nl' . "\r\n";

Nu vraag ik mij af of de komma's en dubbele komma's wel goed staan. Zou je daar even nog naar kunnen kijken? Ik denk dat mijn fout was dat ik het bericht naar mijzelf stuurde en niet naar de invuller. Er stond immers:

$email_to = 'MIJN EMAILADRES'; //the address to which the email will be sent

Daar moet natuurlijk het emailadres komen van de invuller. Dan wordt dat toch:

$email_to = $_POST['email']; // Wordt zo op deze plaats het e-mailadres van de invuller opgenomen? Maw is de tekst achter het = teken zo correct, of moet ik daar wat anders plaatsen? Zo ja wat?

En op welke plaats kan ik datgene plaatsen om het afvangen te regelen? Moet dat ook in het php-bestand of moet dat op de htmlpagina zelf. Ik heb nl boven in het headgedeelte van de pagina ook al iets van controle staan.

Sorry misschien voor mijn stomme vragen, maar ik kom er gewoon niet uit. Dat gedoe met mail en php blijft voor mij erg moeilijk.
Nogmaals dank voor je hulp.

Groet,
Lavendel
 
Laatst bewerkt door een moderator:
Hallo,

Het is gelukt als ik bij:

$email_to = $_POST['email'];

dit geplaatst en dan worden, dankzij de bcc aanvulling 2 emails verzonden. Bedankt voor de hulp.

Maar wat het bovenste gedeelte van het php document doet, weet ik niet. Ik krijg nergens dat bedankje te zien. Maaar goed in ieder geval worden er nu berichten verzonden naar 2 verschillende emailadressen.

Groet,
Lavendel
 
Maar wat het bovenste gedeelte van het php document doet, weet ik niet. Ik krijg nergens dat bedankje te zien. Maaar goed in ieder geval worden er nu berichten verzonden naar 2 verschillende emailadressen.

Dat komt omdat die autoResponse zomaar wat variabelen zijn bovenaan het script waar verder niets mee gedaan wordt. Als je een variabele met een string erin doet zonder dat er - na het versturen van de mail - output wordt gegeven (dus, niet in het script verwerkt) met het bedankje, dan wordt er inderdaad niets gedaan met deze string.
 
Hallo Koekje000,

Bedankt voor je reactie. Kan je mij ook zeggen hoe het script dan moet worden aangepast om het bovenste bericht inclusief datgene wat hij of zij aan bericht heeft ingevoerd, naar de invuller kan worden gezonden? Bij voorbaat dank voor je hulp.
 
Het bericht wordt nu inderdaad ook naar de afzender gezonden. Helaas lukt het me niet om bovenstaande tekst er nog aan toe te voegen. Maar ik ben al blij dat er een kopiemail wordt verzonden naar de invuller.
Bedankt iedereen voor de hulp.
Lavendel
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan