Sie müssen mindestens einen Empfänger angeben!

Bitte gehen Sie zurück und korrigieren Sie Ihre Eingabe.

'); // Mehr als $maxto Empfänger? Geht auch nicht. $e = explode(',', $emailto); if (count($e) > $maxto) die('

Zu viele Empfänger!

Bitte gehen Sie zurück und korrigieren Sie Ihre Eingabe.

'); // Sind alle Mailadressen gültig oder schauen zumindestens so aus? for ($i = 0; $i < count($e); $i++) { if (eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$", $e[$i]) == FALSE) die('

Ungültige Mailadresse!

Bitte gehen Sie zurück und korrigieren Sie Ihre Eingabe.

'); } // Absenderadresse gültig? if (eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$", $emailfrom) == FALSE) die('

Sie müssen Ihre E-Mail-Adresse angeben!

Bitte gehen Sie zurück und korrigieren Sie Ihre Eingabe.

'); $aStart = ''; // und das Ende? // Arrays zum Suchen/ersetzen innerhalb des HTML-Quelltextes. // Wenn noch HTML-Tags oder Sonderzeichen in Deinen E-Mails vorkommen - hier reinschreiben. // asciiChars1 = danach wird im Quelltext gesucht // asciiChars2 = damit wird ersetzt // Bei Erweiterungen dieser Arrays die Kommata nicht vergessen und die Reihenfolge beachten! $asciiChars1 = array( '', '', '', '', '', '', '', '', '
', '
', '—', '“', '”', '‘', '’', '&', '

', '

' ); $asciiChars2 = array( '*', '*', '-', '-', '*', '*', '-', '-', "nnQuote:n", "nn", ' -- ', '"', '"', "'", "'", '&', '', '' ); // Diese Ersetzungen finden erst ganz am Schluß statt, deshalb stehen sie oben in den Arrays nicht mit drin $lastChars1 = array( '<', '>' ); $lastChars2 = array( '<', '>' ); // Ab in den Parser damit $text = $entry; if(!empty($more)){ $text = $entry.'

'.$more; } // nun haben wir einen String mit dem Arzikelquelltext $articleAscii = "n"; // String mit Neuzeile beginnen, damit der Rückgabewert von strpos() nicht 0 werden kann $articleAscii .= str_replace($asciiChars1, $asciiChars2, $text); // alle non-ASCII-Zeichen ersetzen $linkArray = array(); // Fußnoten initialisieren $linkNum = 1; // Startnummer festlegen while ($pos = strpos($articleAscii, $aStart)) { // Suche nach Links im Artikeltext $aQuote = substr($articleAscii, $pos + 8, 1); // welche Art von Anführungszeichen haben wir? $start = $pos + 9; // Startindex auf den Anfang der URL setzen $end = strpos($articleAscii, $aQuote, $start); // Ende der URL finden $linkArray[] = substr($articleAscii, $start, $end - $start); // Hurra - unsere URL. Ab damit ins Linkarray. $end = strpos($articleAscii, "$aQuote>", $pos) + 2; // Ende eines öffnenden tags finden $close = strpos($articleAscii, $aEnd, $end); // und den schließenden tag finden $linkText = substr($articleAscii, $end, $close - $end) . " [$linkNum]"; // Link auslesen und Fußnotenzeichen vorbereiten $z = substr($articleAscii, $pos, ($close + 4) - $pos); // der vollständige ... tag $articleAscii = str_replace($z, $linkText, $articleAscii); // ..und der wird mit dem Linktext und dem Fußnotenzeichen ersetzt $linkNum++; // Fußnotennummer um eins erhöhen und weiter damit } $articleAscii = strip_tags($articleAscii); // Nochmal saubermachen im String $articleAscii = str_replace($lastChars1, $lastChars2, $articleAscii); // < und > ersetzen, damit Codebeispiele o.ä. intakt bleiben $articleAscii .= "nn"; // neuer Absatz for ($i = 0; $i < count($linkArray); $i++) { // Fußnoten mit den links hinten an den String anhängen $n = $i + 1; $articleAscii .= "[$n] <$linkArray[$i]>n"; } $ip = $REMOTE_ADDR; // Absender-IP auslesen $articleURL = $baseURL.'entry.php?id='.$id; // URL der Artikelseite // E-Mail Nachricht zusammenstellen $message = "Dieser Artikel wurde Ihnen gesendet von: $emailfromnIP Adresse: $ipnn"; if ($comments) $message .= "Persoenliche Nachricht:nn" . stripslashes($comments) . "nn"; $message .= "--------------------------------nn"; $message .= "Die Adresse des Originalartikels:n"; $message .= "<$articleURL>nn"; $message .= "Titel: $titlen"; $message .= "Autor: $authorn"; $message .= "Datum/Zeit: $date, $timenn"; if ($commentcount) { $message .= ($commentcount == 1) ? 'Eine Person hat ' : "$commentcount Personen haben "; $message .= "diesen Artikel kommentiert.nn"; } $message .= "--------------------------------n"; $message .= $articleAscii; $message .= "n--------------------------------n"; $message .= "Powered by EGM Weblogn"; $message .= "http://www.egm.at/weblog/n"; $mailheader = "From:$emailfromn"; $mailheader .= "Reply-To: $emailfromn"; $mailheader .= "BCC: $bccn"; $mailheader .= "X-Mailer: PHP/" . phpversion(). "n"; $mailheader .= "X-Sender-IP: $REMOTE_ADDRn"; // Mail versenden und zurück zum Artikel mail($emailto, "[Interessanter Artikel]: $title", $message, $mailheader); Header("Location:entry.php?id=$id"); } //----------------------------------------------------------------------------------- // Und falls unser Gast sein Formular noch gar nicht abgesendet hat, sollten wir es ihm zuerst mal anzeigen: // Header-File laden include("header.inc.php");

Artikel per E-Mail versenden