'', "\r" => '' ) );
    if ( strlen( $_POST['absender_name'] ) > MAX_LEN_NAME ) {
      $err_msg[] = 'Der Name ist zu lang. Bitte kürzen, Danke!';
    }
  }
  if ( empty( $_POST['absender_betreff'] ) ) {
    $err_msg[] = 'Bitte die Angabe des Betreffs überprüfen!';
  } else {
    $_POST['absender_betreff'] = strtr( $_POST['absender_betreff'],
      array( "\n" => '', "\r" => ''  ) );
    if ( strlen( $_POST['absender_betreff'] ) > MAX_LEN_BETREFF ) {
      $err_msg[] = 'Der Betreff ist zu lang. Bitte kürzen, Danke!';
    }
  }
  // Prüfen, ob eine korrekte eMail-Adresse übergeben wurde
  if ( empty( $_POST['absender_email'] ) ) {
    $err_msg[] = 'Bitte die Angabe der eMail-Adresse überprüfen!';
  } elseif ( strlen( $_POST['absender_email'] ) > MAX_LEN_MAIL ) {
      $err_msg[] = 'Die eMail-Adresse ist zu lang. Bitte kürzen, Danke!';
  } else {
    if ( check_email( $_POST['absender_email'] ) === FALSE ) {
      $err_msg[] = 'Bitte die Angabe der eMail-Adresse überprüfen!';
    }
  }
  if ( empty( $_POST['absender_text'] ) ) {
    $err_msg[] = 'Bitte die Angabe des Textes überprüfen!';
  } else {
    $_POST['absender_text'] = strtr( $_POST['absender_text'], array( "\r\n" => "\n" ) );
    if ( strlen( $_POST['absender_text'] ) > MAX_LEN_TEXT ) {
      $err_msg[] = 'Der Text ist zu lang. Bitte kürzen, Danke!';
    }
  }
  if ( !empty( $_FILES['absender_datei']['tmp_name'] ) ) {
    check_upload( $err_msg );
    list(, $check_mime ) = check_mime( $err_msg, $mime );
  }
  // Prüfen, ob Fehler aufgetreten sind
  if ( count( $err_msg ) > 0 ) {
    // Die Fehlermeldungen anzeigen
    echo implode( "
\n", $err_msg );
    // Das Formular nochmal anzeigen, damit die fehlenden Daten
    // nachgetragen werden können
    echo kontakt_output( $extension );
  } else {
    // Wenn eine Datei hochgeladen wurde ....
    if ( !empty( $_FILES['absender_datei']['tmp_name'] )  ) {
    $handle = fopen( $_FILES['absender_datei']['tmp_name'], 'rb' );
    $file_content = fread( $handle, filesize( $_FILES['absender_datei']['tmp_name'] ) );
    fclose( $handle );
    $_FILES['absender_datei']['name'] = strtr( $_FILES['absender_datei']['name'],
      array( ' ' => '_', 'ä'=>'ae', 'ö'=>'oe', 'ü'=>'ue', 'Ä'=>'ae', 'Ö'=>'oe',
      'Ü'=>'ue', 'ß' => 'ss' ) );
    $encoded = chunk_split( base64_encode( $file_content ) );
    $boundary = 'SENDeMAIL_'. md5( uniqid( mt_rand(), TRUE ) );
    $header = "From: ". $from ."\n".
              "Reply-to: ". $_POST['absender_email'] ."\n".
              "X-Mailer: PHP ". phpversion() ."\n".
              "MIME-Version: 1.0\n".
              "Content-Type: multipart/mixed; boundary=\"". $boundary ."\";";
    $body ="This is a multi-part message in MIME format.\n
--". $boundary ."
Content-Type: text/plain; charset=\"iso-8859-15\"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline\n
Über das Formular wurde folgende eMail generiert:
Name:  ". $_POST['absender_name'] ."
eMail: ". $_POST['absender_email'] ."
Anfrage:  ". $_POST['absender_text'] ."
--". $boundary ."
Content-Type: ". $_FILES['absender_datei']['type'] ."; name=\"". $_FILES['absender_datei']['name'] ."\";
Content-Transfer-Encoding: base64
Content-Disposition: attachment
". $encoded ."
--". $boundary ."--";
    } else {
      // Keine Datei ...
      $header = "From: ". $from ."\n".
        "Reply-to: ". $_POST['absender_email'] ."\n".
        "Content-Type: text/plain; charset=\"iso-8859-15\"\n".
        "Content-Transfer-Encoding: quoted-printable\n".
        "X-Mailer: PHP ". phpversion();
      $body = "Über das Formular wurde folgende eMail generiert:\n".
        "Name:  ". $_POST['absender_name'] .
        "\neMail: ". $_POST['absender_email'] .
        "\nAnfrage:  ". $_POST['absender_text'] ;
    }
    $check_send = mail( $to, $_POST['absender_betreff'], $body, $header );
    if ( $check_send === FALSE ) {
      echo 'eMail konnte nicht versendet werden. Bitte versuchen Sie es zu einem'.
           ' späteren Zeitpunkt nocheinmal.\nVielen Dank für Ihr Verständnis!';
    } else {
      echo 'Vielen Dank für die Nachricht!';
    }
  }
}
echo html_foot();
// gepufferte Ausgaben anzeigen und Pufferung ausschalten
ob_end_flush();
/*
 * Funktionen
*/
/*
 * HTML-Formular
*/
function kontakt_output( $extension ) {
  $name    = ( empty($_POST['absender_name']) )    ? '' : $_POST['absender_name'] ;
  $email   = ( empty($_POST['absender_email']) )   ? '' : $_POST['absender_email'] ;
  $betreff = ( empty($_POST['absender_betreff']) ) ? '' : $_POST['absender_betreff'] ;
  $text    = ( empty($_POST['absender_text']) )    ? 'Ihre Angaben'.
    ' bitte hier eintragen.' : $_POST['absender_text'] ;
  $ausgabe = '