PHP mail scripts gecombineerd

Status
Niet open voor verdere reacties.

WDHBGS

Terugkerende gebruiker
Lid geworden
18 dec 2010
Berichten
1.348
Hallo,

Ik heb 2 PHP-scripts (beide om een mail te sturen) gecombineerd.
En nu werkt het uiteindelijke script niet.
Code:
PHP:
<?php
if (isset($_REQUEST['email']))
//if "email" is filled out, send email
  {
  //send email
  $email = $_REQUEST['email'] ;
  $subject = $_REQUEST['subject'] ;
  $message = $_REQUEST['message'] ;
  $to = $_REQUEST['to'] ;
  $message1 = stripslashes("$message") ;
  $subject1 = stripslashes("$subject") ;
  $mime_boundary = "----Test----".md5(time());
  $headers = 'From: $email' . "\r\n" . 
    'Reply-To: $email' . "\r\n" .
    'X-Mailer: Test Mail (PHP)' . phpversion();
    'MIME-Version: 1.0' . "\r\n";
    'Content-type: text/html; boundary=\"$mime_boundary\ charset=iso-8859-1' . "\r\n";
    'To: $to' . "\r\n";
    'Message-ID: <". time() .rand(1,1000). "@".$_SERVER['SERVER_NAME'].">". "\r\n";

  mail( "$to", $subject1,
  $message1, "$headers" );
  echo "Verzonden!!!";
  }
else
//if "email" is not filled out, display the form
  {
  echo "<form method='post' action='index.php'>
  Van (nep e-mailadres): <input name='email' type='text' /><br />
  Naar: <input name='to' type='text' /><br />
  Onderwerp: <input name='subject' type='text' /><br />
  Bericht:<br />
  <textarea name='message' rows='15' cols='40'>
  </textarea><br />
  <input type='submit' />
  </form>";
  }
?>

Er zit iets fout in de header-sectie zegt PHP.
Ik werkt al lang met PHP, maar ik vind het knap lastig.

Site: http://freefrommail.site40.net/
Foutmelding: Parse error: syntax error, unexpected T_STRING in /home/a9262295/public_html/index.php on line 19

Ik hoop dat iemand me snel kan helpen.:thumb:

Groetjes, WDHBGS:D
 
Maar dan werkt het van-e-mailadres nog niet ($email).
 
waarom heb je quotes om "$headers" in de mail command? Heb je al een ECHO geprobeerd van je mail lijn?
 
Als je enkele aanhalingstekens gebruikt wordt de waarde van de variabelen niet ingevuld. Dus
PHP:
'From: $email'
levert op
Je moet dubbele aanhalingstekens gebruiken of, netter, de variabelen buiten de string halen
PHP:
'From: ' . $email
 
Nu heb ik hem wat uitgebreid met HTML, maar het enige wat is nu in een testmail ontving, was de tekst <html>.
De Content-Type is goed ingesteld.
HTML-gedeelte van script:
PHP:
 $html_message .= "--$mime_boundary\n";
  $html_message .= "Content-Type: text/html; charset=UTF-8\n";
  $html_message .= "Content-Transfer-Encoding: 8bit\n\n";

  $html_message = "<html>\n";
 "<body>\n";
 "<br>\n\n";
 "$message<br>\n";
 "<br>\n\n";
 "</body>\n";
 "</html>\n";
 
Op regel 5 overschrijf je de variabele $html_message met alleen "<html>\n". Regel 6-11 zijn vervolgens statements die niets doen. Je zal op regel 5 ook '.=' moeten gebruiken i.p.v. alleen '=' en de HTML-code of achter elkaar zetten op regel 5 met maar een dubbel aanhalingsteken aan het begin, een aan het einde en een puntkomma helemaal aan het einde of de puntkomma's op regel 5-10 (niet op regel 11) vervangen door een '.' (punt).
 
Laatst bewerkt:
Ik snap niet precies wat je helemaal bedoeld.
Nu heb ik
PHP:
$html_message .= "--$mime_boundary\n";
  $html_message .= "Content-Type: text/html; charset=UTF-8\n";
  $html_message .= "Content-Transfer-Encoding: 8bit\n\n";

  $html_message .= "<html>\n";
 "<body>\n";
 "<br>\n\n";
 "$message<br>\n";
 "<br>\n\n";
 "</body>\n";
 "</html>\n";
Maar dan krijg ik de HTML-code in de e-mail te zien.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan