mailform - kopi til afsender, hvordan? (Haster)

Tags:    php

Jeg har en mailform som fungerer fint.
Ansøgeren/afsenderen udfylder en mailform på en helt almindelig html-side, og mailen sendes til hvad jeg har kaldt email@webside.com nedenfor.

Afsenderen udfylder desuden sin egen mailadresse, hvortil der skal sendes en kopi af mailen.
Det er så vidt jeg indtil nu har fundet frem til noget i stil med:
if (@$_POST['customer_copy']) {
$headers .= "\\r\\nBcc: ".$_POST['email'];
}
Men hvor skal det sættes ind henne?

Ydermere skal der kun sendes en kopi hvis der vinges af i en selectbox (den der hedder customer_copy nedenfor) der er placeret ved siden af [SEND]-knappen her:
.....<tr>
<td valign="top" width="15"><div class="orange">10.</td>
<td width="500"><div class="lightgrey">Indtast den emailadresse hvortil du ønsker et eventuelt svar tilsendt.<br>
<input type="text" name="email" size="50"><br>
 <hr>
<p><div class="lightgrey"><input type="checkbox" id="t5" name="customer_copy" checked="checked" /><b>Send kopi til dig?</b> (på ovenfor oplyste e-mail)           <input type="submit" name="sendansoegning" value="Send ansøgning"></p>
</td>
<td>

</tr>
</table>

Maileren ser således ud:

<?php
/**
* User configurable variables section
**/
//mail recipient
$mto = 'email@webside.com';
//mail subject
$msubj = "Ansøgning";
//begining of the mail body
$mbody="Videresendt fra hjemmesiden.\\n \\n";
//successfull message
$sentsuccess = '<h1>Vi har nu modtaget din ansøgning. Bla bla bla blaaaabla.</u><p></h1>';
//error message when sending is fault
$sentfailure = '<h1>Din ansøgning blev IKKE sendt. Bla bla bla blaaaabla.</h1>';
//system section.
///////////////////////////////////////////////////////////
$request = $_POST;
//represents values and their meanings

$values = array(
'nick'=>' NICK',
'msn'=>' MSN',
'skype'=>' SKYPE',
'spm2'=>' ANDRE',
'spm3'=>' NAVN, ALDER OG HVORFRA',
'spm4'=>' HVERDAG OG FRITID',
'spm5'=>' HVOR LÆNGE',
'spm6'=>' HVORFOR',
'spm7'=>' ONLINE HVORNÅR',
'spm8'=>' VIGTIGT',
'spm9'=>' SAMMENHOLD OG NØGLEORD',
'email'=>' E-MAIL');

foreach ($values as $k=>$v){
if (isset($request[$k])){
$mbody.=$v.": \\n".$request[$k]."\\n \\n";
}
}
if ((isset($request['nick']))&&(trim($request['nick'])!='')) $msubj.=' ansøgning fra: '.$request['nick'];
else if (isset($request['msn'])) $msubj.=' msn: '.$request['msn'];

if (mail($mto, $msubj, $mbody)) {
header("Location: http://www.hjemmeside.com/sentsuccess.htm");
} else {
header("Location: http://www.hjemmeside.com/sentfailure.htm");
}
?>

Spørgsmålet er altså hvor sætter jeg
if (@$_POST['customer_copy']) {
$headers .= "\\r\\nBcc: ".$_POST['email'];
}
...eller lign. ind i ovenstående script?

Mvh. DFL





4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Fold kodeboks ind/udKode 




Hej Mathias.

Tak for hurtigt svar =)

Jeg har sat

if (@$_POST['customer_copy']) { //<---
$headers .= "\\r\\nBcc: ".$_POST['email'];//<---
}//<---

ind dér hvor du har sat det ind... og det virker stadig ikke. Jeg får ingen kopi.

Hvad mener du med følgende:

$headers = '';//HER SÆTTES HEADEREN TIL '' SOM STANDARD. _MEGET_ VIGTIGT!!

og

if (mail($mto, $msubj, $mbody, $headers)) {//HER TILFØJES ", $headers"

???

Hvad er det der er vigtigt?
Det virker jo som det er... bortset fra kopien, jo.

/DFL




$headers = '';//HER SÆTTES HEADEREN TIL '' SOM STANDARD. _MEGET_ VIGTIGT!!

Fordi at hvis ikke webserveren er konfigureret ordentligt kan man ændre i mailen ved at ændre headeren.

Prøv istedet dette:
if (@$_POST['customer_copy']) {
$headers .= "From: DIN EMAIL" . "\\r\\n".
"Bcc: ".$_POST['email']."\\r\\n".
"X-Mailer: PHP/" . phpversion();
}

Og tjek også om e-mailen ligger under spam, og at $_POST['email'] indeholder den rigtige e-mail.

if (mail($mto, $msubj, $mbody, $headers)) {//HER TILFØJES ", $headers"

Betyder at man tilføjer headeren til e-mailen.(Det er den der sender en kopi(eller burde gøre det))

Bare spørg igen hvis det ikke virker eller du ikke forstår:)




Der er noget helt galt nu.
Nu virker det slet ikke.
Måske er der noget af det kode du har skrevet jeg skulle rette til?

Jeg er HELT blank hvad php angår, skal det lige siges.

Nu får jeg en fejlbesked, og får end ikke tilsendt mailen.

Jeg har nok brug for den helt færdige kode, uden jeg selv skal skrive noget andet end det du skriver.



t