php mailform fout bij beantwoorden

Status
Niet open voor verdere reacties.

gamers-inside

Gebruiker
Lid geworden
6 aug 2006
Berichten
386
Kheb een mailformulier alles werkt ik ontvang het ook maar als ik dan op beantwoorden druk staat er bij afzender " automatisch genererend emailbericht " ofzo
Hoe krijg ik het voor elkaar om de emailadres van de gene die het bericht gestuurt heeft
daar in te krijgen

Bij de mailform staat een vakje laatmaar zegge waar je de emailadres moet invullen en dat emailadress moet daar dan komen te staan



en ff nog een opmerkingetje als ik bijv. nu dat automatisch genererend emailbericht weg haal dan vul ik het emailadres in van de afzender laat maar zegge als ik dan op versturen druk krijg ik dit berichtje ( foutmelding )


Kan het bericht niet verzenden omdat één van de geadresseerden door de server is geweigerd. Het geweigerde e-mailadres is automatisch gegenereerd e-mailbericht. Onderwerp 'Re: Mailformulier Website', Account: 'email planet', Server: 'mail.planet.nl', Protocol: SMTP, Reactie van server: '553 5.1.3 bad address syntax: automatisch gegenereerd e-mailbericht', Poort: 25, Beveiligd(SSL): Nee, Serverfout: 553, Foutnummer: 0x800CCC79

Edit : ben vergeten de mailform erbij te zetten

PHP:
<?php
//start output buffering
ob_start();
?> 
<html>
<head>
<title>Contactformulier Zeilmakerij J. Poort</title>

<STYLE TYPE="text/css">
<!--
A:link      { text-decoration: none; color: #0000FF }
A:visited   { text-decoration: none; color: #0000FF }
A:hover     { text-decoration: underline; color: #0000FF }
A:active    { text-decoration: none; color: #0000FF }
-->
</STYLE>

</head>
<body style="background-color:#FCF7E4;margin:0;padding:5px; font-family:"Times New Roman";
font-size:12px;">
 
 
<?php
/*
©copyright Zeilmakerij J. Poort 2006 -2007 
*/
######################### 
#  Start Configuration  #
#########################

$sWebsitenaam = "automatisch gegenereerd e-mailbericht "; //vul hier de naam van jouw website in 

$sMail = "jou emailadress"; //Het e-mailadres waarnaar de mail word gestuurd. Voor meerdere adressen, scheid de emailadressen met een comma. 
$bHTML = TRUE; //Bij TRUE word er een HTML-mail gestuurd. Bij FALSE een plain-text-mail 
$sOnderwerp = "Mailformulier Website"; //Vul hier een onderwerp in. Dit word het onderwerp wanneer er geen ondewerp is opgegeven of als $bOnderwerp op TRUE staat 
$bOnderwerp = TRUE; //TRUE als bovenstaand onderwerp altijd gebruikt zal worden. FALSE wordt er eerst gekeken of er een onderwerp in het formulier voor komt

$bBedanktmail = TRUE; //Moet er een bedankt mailtje gestuurd worden aan die gene die verstuurde? (e-mail invoerveld is dan dus verplicht) 
$sBedanktmail = "Bedankt voor je e-mailbericht. Wij geven, indien nodig, zo spoedig mogelijk een reactie."; //de tekst van het bedank mailtje 
$sBedanktfrom = "jou emailadress"; //vanaf welk adres moet dit bedankmailtje vestuurd worden?
$sBedanktsubj = "Bedankt!"; //dit is het ondewerp van het bedanktmailtje 

$bBedanktTxt = FALSE; //TRUE als onderstaande tekst als bedankje moet worden weergegeven, FALSE als er moet worden doorgestuurd naar de pagina welke hieronder is aangegeven 
$sBedanktTxt = "De e-mail is verzonden."; //bedankt text 
$sBedanktURL = "http://www.geheim.nl/bedankt.htm"; //bedankt url 

######################### 
#   End Configuration   # 
#########################
 

if (count($_POST) > 0) 
{ 
  //controleer of de $bHTML wel fatsoenlijk is ingesteld 
  if(!is_bool($bHTML)) 
  { 
    print("De configuratie is onjuist. Zorg dat je bij <font color=blue><i>$bHTML</i></font> een booleaanse waarde (TRUE of FALSE) hebt ingevuld. Letop: Hier moeten geen quotes ( \" of ') omheen!"); 
    exit; 
  } 
  $errors = array();//definieer arrray voor de errormeldingen 
  $aKeys = array_keys($_POST); //pak alle arraykeys in een arraytje
  foreach($_POST as $key=>$value) 
  {
    $_POST[$key] = trim($value); //maak alle waarden netjes
  } 
  foreach($aKeys as $key=>$value) 
  {
    $aKeys[$key]=strtolower($value);//maak alle waarden in kleine letters 
  } 
   
  $aMail = explode(",",$sMail); 
  $aDomein = explode("@",$sMail[0]);  
  $sDomein = $aMail[1];  
   
  //mail detectie
      if (in_array("mail",$aKeys)) { $sFrom = $_POST['mail']; } 
  elseif (in_array("email",$aKeys)) { $sFrom = $_POST['email']; } 
  elseif (in_array("e-mail",$aKeys)) { $sFrom = $_POST['e-mail']; } 
  elseif (in_array("1mail",$aKeys)) { $sFrom = $_POST['1mail']; } 
  elseif (in_array("1email",$aKeys)) { $sFrom = $_POST['1email']; } 
  elseif (in_array("1Emailadress",$aKeys)) { $sFrom = $_POST['1Emailadress']; }
  else    
  {  
    $sFrom = "postmaster@".$sDomein;
    $bBedanktmail = FALSE; 
  } 
   
  if ($bOnderwerp) 
  { 
    $sSubject = $sOnderwerp; 
  } 
  else 
  { 
        if (in_array("onderwerp",$aKeys)) { $sSubject = $_POST['onderwerp']; } 
    elseif (in_array("subject",$aKeys)) { $sSubject = $_POST['subject']; } 
    elseif (in_array("1onderwerp",$aKeys)) { $sSubject = $_POST['1onderwerp']; }
    elseif (in_array("1subject",$aKeys)) { $sSubject = $_POST['1subject']; } 
    else { $sSubject = $sOnderwerp; }
  }
   
   

  //check alle verplichte velden 
  foreach($_POST AS $key => $value)
  { 
    if(substr($key,0,1) == 1) 
    {
      if (empty($_POST[$key])) 
      { 
        $name = substr($key,1);
        //poep alle errors uit, dus de namen van de velden
        $error[] = "<div style=\"position:relative;top:
        5px;left:-41px;height:15px;width:450px;padding:5px;margin:1px;color:red;\">
        Het veld <i>'".$name."'</i> is verplicht en moet worden ingevuld.</div>";
      } 
    } 
  } 
   
  //als er een error was email Peter Vazed

  if (isset($error) && count($error) > 0) 
  {
    //poep ingeval foute invoer dit als bovenste tekst
     echo "<div style=\"position:relative;top:
        0;left:0;height:44px;width:450px;padding:5px;color:red;\">
        Invoer is <b>verplicht</b> voor de hieronder genoemde velden.<br>
        Klik <a href=\"javascript:history.back();\"> <b><i>hier</i></b></a> of op de
        <b><i>\"vorige button\"</i></b> in uw browser<br> om de velden in te vullen.
        </div>";
    print("<ul style=\"list-style: none; color: red;\">\n");
    foreach($error as $value) 
    {
      print("\t<li>".$value."</li>\n"); 
    }
    print("</ul>"); 
  }
  else 
  {
    $headers  = "MIME-Version: 1.0\n";  
    $headers .= "From: ".$sWebsitenaam." <".$sFrom.">\n"; 
    $headers .= "Reply-to: ".$sWebsitenaam." <noreply@".$sDomein.">\n";
    $headers .= ($bHTML) ? "Content-Type: text/html; charset=iso-8859-1\n" : "Content-Type: text/plain; charset=iso-8859-1\n"; 
     
    $sContent = "Dit is een automatisch gegenereerd e-mailbericht die vanaf je site is verstuurd.\n\n"; 
    foreach($_POST as $key => $value) 
    {
      if (substr($key,0,1) == 1) { $key = substr($key,1); } 
      $sContent .= ucfirst(strtolower($key)).": ".$value."\n\n"; 
    } 
    $sContent .= "IP: ".$_SERVER['REMOTE_ADDR']."\n\n"; 
    $sContent .= "Tijdstip: ".date("D j M, Y G:i")."\n\n"; 
     
    $enter = " ";
    $sContent = ($bHTML) ? nl2br(htmlspecialchars($sContent)) : str_replace("\n",$enter,$sContent) ; 
     
    foreach ($aMail as $sMailAdress) 
    { 
      mail(trim($sMailAdress),$sSubject,$sContent,$headers);   
    }  
     
    if ($bBedanktmail) 
    { 
      $sBedanktmail = ($bHTML) ? nl2br(htmlspecialchars($sBedanktmail)) : str_replace("\n",$enter,$sBedanktmail) ; 
       mail($sFrom,$sBedanktsubj,$sBedanktmail,$headers); 
    }


                
    if (isset($bBedanktTxt) && $bBedanktTxt == TRUE)
    {
      print($sBedanktTxt); 
    }
    else
    { 
      //ob_end_clean();
      //ob_start();
      header("location: $sBedanktURL");
      print('<meta http-equiv=refresh content="0; url='.$sBedanktURL.'">');
    }
  }
}
else 
{ 
  print("<form action=\"".$_SERVER['REQUEST_URI']."\" METHOD=\"POST\">\n"); ?> 
<!-- Zet hieronder je formulier neer --> 

<body>

<table border="0" width="484" height="433">
	<tr>
		<td height="21" width="156"><br>
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
		</td>
		<td height="21" width="318"> <font color="#FF0000">(* is verplicht in te vullen)</font><br>
		<br>
		<select size="1" name="1Aanhef">
	<option value="Dhr.">Dhr.</option>
	<option value="mevr.">Mevr</option>
	<option value="Fam.">Fam.</option>
	</select></td>
	</tr>
	<tr>
		<td height="20" width="156">&nbsp;</td>
		<td height="20" width="318">&nbsp;</td>
	</tr>
	<tr>
		<td height="21" width="156"><font color="#FF0000">*&nbsp; Naam / Achternaam:</font></td>
		<td height="21" width="318">
		<input type="text" name="1Naam / Achternaam" size="31"></td>
	</tr>
	<tr>
		<td height="21" width="156"><font color="#FF0000">*&nbsp; Onderwerp:</font></td>
		<td height="21" width="318">
		<input type="text" name="1Onderwerp" size="31"></td>
	</tr>
	<tr>
		<td height="21" width="156"><font color="#FF0000">&nbsp;&nbsp;&nbsp; Postcode / Plaats:</font></td>
		<td height="21" width="318">
		<input type="text" name="Postcode" size="6">
		<input type="text" name="Plaats" size="20"></td>
	</tr>
	<tr>
		<td height="21" width="156"><font color="#FF0000">&nbsp; &nbsp; Tel. Nummer:</font></td>
		<td height="21" width="318">
		<!--webbot bot="Validation" s-data-type="Number" s-number-separators=" ." --><input type="text" name="Tel. Nummer" size="31"></td>
	</tr>
	<tr>
		<td height="21" width="156">&nbsp;&nbsp;<font color="#FF0000">&nbsp; Mobiel:</font></td>
		<td height="21" width="318">
		<!--webbot bot="Validation" s-data-type="Number" s-number-separators=" ," --><input type="text" name="Mobiel" size="31" value="06"></td>
	</tr>
	<tr>
		<td height="21" width="156">&nbsp;&nbsp;<font color="#FF0000">&nbsp; Website:</font></td>
		<td height="21" width="318">
		<input type="text" name="Website" size="31" value="http://"></td>
	</tr>
	<tr>
		<td height="-2" width="156"><font color="#FF0000">*&nbsp; Emailadress:</font></td>
		<td height="-2" width="318">
		<input type="text" name="1Emailadress" size="31"></td>
	</tr>
	<tr>
		<td height="21" width="156">&nbsp;</td>
		<td height="21" width="318">&nbsp;</td>
	</tr>
	<tr>
		<td height="20" width="156">&nbsp;</td>
		<td height="20" width="318">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
		<input type="checkbox" name="A.U.B. Bel me." value="Ja graag.">&nbsp; 
		<font color="#FF0000">A.U.B. Bel me.</font></td>
	</tr>
	<tr>
		<td height="25" width="156">&nbsp;</td>
		<td height="25" width="318">&nbsp;</td>
	</tr>
	<tr>
		<td height="189" width="156" rowspan="2"><font color="#FF0000">*&nbsp; Bericht:</font><br>
		<br>
		<br>
		<br>
		<br>
		<br>
		<br>
		<br>
		<br>
		<br>
		<br>
&nbsp;</td>
		<td height="211" width="318">
		<textarea rows="12" name="1Bericht" cols="36"></textarea><br>
&nbsp;</td>
	</tr>
	<tr>
		<td height="13" width="318">
		<p align="center">
		<input type="submit" value="Verzenden" style="color: #FF0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
		<input type="reset" value="Invoer wissen" style="color: #FF0000"></td>
	</tr>
</table>

<!-- Einde formulier --> 
<!-- Peter Vazed - Kruiningen Strikje erom em klaar om te versturen -->
<? } ?>
</body>
</html>
<?php
//send the contents of the buffer to the browser
ob_end_flush();
?>
 
Laatst bewerkt:
als je wilt weten van wie het komt (de afzender)

dan zal je bij $header het mail adres van die gene moeten hebben staan en niet noreply@xxx.nl
 
ja maar het emailadres is tog elke x verschillend want er email tog andere mensen en die hebben ook andere emailadressen
 
ja maar als je nou zegt

PHP:
$headers  = "MIME-Version: 1.0\n";  
$headers .= "From: ".$_POST['1Emailadress'].">\n"; 
$headers .= "Reply-to: ".$sWebsitenaam." <noreply@".$sDomein.">\n";
$headers .= ($bHTML) ? "Content-Type: text/html; charset=iso-8859-1\n" : "Content-Type: text/plain; charset=iso-8859-1\n";

PHP:
$headers .= "From: ".$_POST['1Emailadress'].">\n";
de bovenstaande regel zorgt ervoor dat dat bij afzender het opgegeven mail adres komt te staan.

test het wel met een nep mail adres ivm dat het nooit zeker is dat het goed is:p
 
ik heb gedaan wat jij gezegt hebt alleen ik zie de emailadres wel bij afzender maar als ik dan op beantwoorden klik staat er "automatisch genererend emailbericht en daar moet ook de automatisch de emailaders komen te staan van de afzender ( ik gebruik outlook )
 
Laatst bewerkt:
zo misschien:
PHP:
$headers  = "MIME-Version: 1.0\n";  
$headers .= "From: ".$_POST['1Emailadress'].">\n"; 
$headers .= "Reply-to: ".$_POST['1Emailadress'].">\n";
$headers .= ($bHTML) ? "Content-Type: text/html; charset=iso-8859-1\n" : "Content-Type: text/plain; charset=iso-8859-1\n";
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan