BS-formmail stuurt mail niet goed

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

jebl

Gebruiker
Lid geworden
8 dec 2011
Berichten
109
Hallo,

Op de website van de club heb ik een inschrijfformulier geplaatst.
Nu is het de bedoeling dat de inschrijving naar 3 emailadressen wordt gestuurd maar dat wil niet lukken.
De inschrijving komt maar op 1 adres aan!

Het formulier staat hier: http://www.ghsv-gideon.nl/formulier.html

en dit is het script:

<?php

// Gebaseerd op: BS-FORMMAIL V1.0 BY BIOSONIK DESIGN.
// Aangepast door: Mihosnet Webhosting (www.mihosnet.nl).
// Laatste aanpassing op 30/09/05 18:33

//////////////////
// CONFIGURATIE //
//////////////////

// Ontvangers
$_BSFM = array();
$_BSFM['to'] = "secretaris@ghsv-gideon.nl"; // Naar welk adres moet de email worden verzonden? (VERPLICHT)
$_BSFM['cc'] = "webmaster@ghsv-gideon.nl"; // Stuur deze email ook naar.. (OPTIONEEL)
$_BSFM['bcc'] = "xxxxxx@online.nl"; // Stuur deze email ook naar.. (OPTIONEEL)

// Onderwerp van email
$_BSFM['default_subject'] = "Inschrijving Noorderlichtbokaal 2012";

// HTML Paginas
$_BSFM['error_page'] = ""; // Foutmelding pagina (OPTIONEEL)
$_BSFM['thankyou_page'] = "bedankt.html"; // Bedankt pagina (OPTINEEL)

// Foutmeldingen
$ERROR['invalid_email'] = "Het emailadres is niet geldig. Ga terug en probeer opnieuw.";
$ERROR['empty_REQUIRED'] = "Een verplicht veld is niet ingevuld. Ga terug en probeer opnieuw.";
$ERROR['anti_abuse'] = "Sorry, er is een limiet van 1 email per minuut.";

// Als bedankt.html niet bestaat wordt het onderstaande weergegeven

$MSG['thank_you'] = "Bedankt, de email is verzonden!";


//////////////////////////////////////
// VERANDER NIETS BENEDEN DEZE LIJN //
//////////////////////////////////////


function show_page($num,$msg=''){
global $_BSFM;
if(intval($num) == 0) $file = $_BSFM['error_page'];
elseif(intval($num) == 1) $file = $_BSFM['thankyou_page'];
if(@file_exists($file) AND @is_readable($file)){
$fp = fopen($file, "rb");
$display = "";
while (!feof($fp)) {
$display .= fread($fp, 8192);
}
fclose($fp);
$display = str_replace("<!>message<!>",$msg,$display);
print($display);
}else{
print($msg);
}
exit;

}
function anti_abuse($do=''){
global $_BSFM;
if($do == "set"){
setcookie("sent","BSFM",time()+60);
return;
}elseif($do == "check"){
eval("if(!isset(\$".$_BSFM['COOKIE']."['sent'])){return false;} \r\n else{return true;}");
}
}

if(phpversion() < 4.1){
$_BSFM['COOKIE'] = "HTTP_COOKIE_VARS";
$_BSFM['POST'] = "HTTP_POST_VARS";
}
else{
$_BSFM['COOKIE'] = "_COOKIE";
$_BSFM['POST'] = "_POST";
}

if(anti_abuse("check") == TRUE) show_page(0,$ERROR['anti_abuse']);

eval("foreach(\$".$_BSFM['POST']." as \$key => \$value){ \$_BSFM['values'][\$key] = \$value;}");
//CHECK WEBMASTER ERRORS
if(!isset($_BSFM['values']['uemail'])) show_page(0,"Internal Error: Er is geen veld met de naam uemail. Zie de handleiding.");
//:: END WEBMASTER ERRORS ::\\

if(empty($_BSFM['values']['subject']) AND empty($_BSFM['values']['other_subject'])) $_BSFM['values']['subject'] = $_BSFM['default_subject'];
elseif(empty($_BSFM['values']['subject']) AND !empty($_BSFM['values']['other_subject'])) $_BSFM['values']['subject'] = $_BSFM['values']['other_subject'];

if(!eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,4}$", $_BSFM['values']['uemail']))
{
show_page(0,$ERROR['invalid_email']);
}

$_BSFM['message'] = "De volgende email is via de website binnengekomen:\r\n\n";
foreach($_BSFM['values'] as $key => $value){
if(strstr($key,"REQUIRED") AND empty($_BSFM['values'][$key])) {
show_page(0,$ERROR['empty_REQUIRED']);
}else{
$_BSFM['message'] .= ucfirst(str_replace("REQUIRED","",$key)).": ".$_BSFM['values'][$key]."\r\n";
}
}
$headers .= "From: <".$_BSFM['values']['uemail'].">";
if(!empty($_BSFM['cc'])) $headers .= "Cc: ".$_BSFM['cc']."\r\n";
if(!empty($_BSFM['bcc'])) $headers .= "Bcc: ".$_BSFM['bcc']."\r\n";
mail($_BSFM['to'],$_BSFM['values']['subject'],$_BSFM['message'],$headers);

anti_abuse("set");
show_page(1,$MSG['thank_you']);

//Users email address MUST be called uemail
//subject must be called subject
//other subject must be called other_subject

////////////////////////////////////
// VERANDER NIETS BOVEN DEZE LIJN //
////////////////////////////////////

?>

Alvast bedankt voor het mee denken.
 
Het is inderdaad een oud script maar het werkte altijd naar behoren, tot dat ik meerdere emailadressen moest gebruiken :confused:
Wellicht is er een beter alternatief?
Maar ondanks dat het een oud script is zou er toch een mogelijkheid moeten zijn om het formulier naar meerdere emailadressen te sturen?
 
Laatst bewerkt:
Ik ben toch nog even aan het experimenteren gegaan met de regel:

$_BSFM['to'] = ""; // Naar welk adres moet de email worden verzonden? (VERPLICHT)

en heb daar van gemaakt:

$_BSFM['to'] = ",,"; // Naar welk adres moet de email worden verzonden? (VERPLICHT)

En warempel, het formulier word naar alle 3 mailadressen gestuurd :)
Voor mij is deze oplossing eerst voldoende, mochten er nog betere suggesties zijn houd ik mij aanbevolen!

Bedankt voor het meedenken :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan