• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Html -> php

dragul

Neues Mitglied
Hallo,
HTML ist nicht gerade mein Steckenpferd aber ab und an brauche ich es...
Folgende Situation: php-EMail Datei im I-Net, HTML Formular sendet an diese php Datei.

php-Datei:
PHP:
<?php 
set_magic_quotes_runtime(FALSE);
$Empfaenger = $_POST[To]; 
$Betreff = $_POST[topic]; 

$Nachricht = stripslashes ($_POST['message']); 

$Header = "MIME-Version: 1.0\n"; 
$Header .= "Content-type: text/html; charset=iso-8859-1\n"; 
$Header .= "From: dragul<".$_POST[From] .">\n"; 

mail($Empfaenger, $Betreff, $Nachricht, $Header); 

?>
HTML-Formular:
Code:
<html>
<head>

</head>


<body>

<form method="post" action="http:.../email.php">
<b>E-Mail</b> mit HTML<br><p>
</p>

Absender:&nbsp;&nbsp;&nbsp;  <input type="text" name="From" size="40"><br>
<br>
Empfänger:&nbsp; <input type="text" name="To" size="40"><br>
<br>
Betreff:&nbsp;&nbsp;   <input type="text" name="topic" size="60"><br>
<br>

<br>
Inhalt:&nbsp;&nbsp;    <textarea name="message" cols="50" rows="20"></textarea>
<br>
 <input type="button" name="Text 2" value="rot"
      onclick="this.form.message.value= this.form.message.value  + '<font color= 8B0000> </font>'">&nbsp;
<input type="button" name="Text 4" value=":-)"
      onclick="this.form.message.value= this.form.message.value  + '<img border= &quot;0&quot; src=&quot;http://...lol.png&quot;>'">
 
<input type="submit" name="Button" value="Abschicken">

</form>
</body>
</html>
Das senden von Texten auch in html geht, nur wenn ich Text4 sende kommt die E-Mail nicht an?

Kann mir nicht erklären warum.

Manche HTML - Quelltexte werden versendet manche nicht.....?

Ich komm nicht weiter, kennt einer die Lösung, Vermutung?
 
drei POST-superglobalen sind falsch, da gehören hochkommata 'rein und mach' zur sicherheit mal den befehl für die magic_quotes weg. viele server mögen das nicht.

Nils aka XraYSoLo
 
Es könnte auch sein, dass die mails zwar versendet werden, aber als SPAM gelöscht werden. Speziell HTML-Code im Mail, Sonderzeichen im Betreff oder sehr kurze e-mail-Nachrichten(nur 1 Wort) sind Problematisch und können in Kombination mit ev. in Blacklists geführten IP-Adressen des Servers, ungültigen Absender-adressen... dazu führen, dass die mail gleich am Mailserver gelöscht wird.

Hier mein halbwegs funktionierendes Skript:
(du musst die variablen $mailtext_plain= Klartext und $Nachricht=HTML sowie die Charsets an deine anpassen)

PHP:
$Nachricht = stripslashes ($_POST['message']);  
 $mailsubject = mb_encode_mimeheader($_POST['topic'], "iso-8859-1", "Q", "\n");
        // Generate a boundary string to demarcate different types
        $mime_boundary = "Mailboundary--[".md5(time())."]"; 
        $mailheaders .= "MIME-Version: 1.0\nContent-type:multipart/alternative;    boundary=\"".$mime_boundary."\"\n";
        $mailheaders .= "From: Name <$_POST['From']>\n";
        $mailheaders .= "Reply-To: <$_POST['From']>\n";
        $mailheaders .= "Bcc: [email protected]\n";

        
        $mailtext = "This is a multi-part message in MIME format.\n\n".
                    "--".$mime_boundary."\n".
                    "Content-Type: text/plain; charset=\"iso-8859-1\"\n".
                    "Content-Transfer-Encoding: quoted-printable\n\n".
                    $mailtext_plain."\n\n".
                    "--".$mime_boundary."\n".
                    "Content-Type: text/html; charset=\"iso-8859-1\"\n".
                    "Content-Transfer-Encoding: 8bit\n\n".
                    $Nachricht."\n\n".
                    "--".$mime_boundary."--\n";

        mail("<".$_POST['To'].">",$mailsubject,$mailtext,$mailheaders);
Voraussetzung ist, dass die PHP-Erweiterung "Multibyte Support" installiert ist.

Einen Versuch ist es auch wert, als $mailtext_plain sowas wie 'Wenn sie das lesen können, stellt ihr Mailprogramm keine HTML-Mails dar.' zu verwenden, dann werden aber auch viele die Mails nicht lesen können.

Am besten schickst du dir mal eine Mail und schaust dir den Quelltext an, da kannst du sehen, wie sehr die e-mail als SPAM gewertet wird.
 
Hallo fuxifux,
habe dien Bsp. mal versucht, dass selbige Ergebnis.

Hmmm, verzweifele noch....:|

XraYSoLo, mit Hochkomma bekomme ich String-Fehlermeldungen .... weiss der Geier warum :)
 
Zuletzt bearbeitet von einem Moderator:
bekommst du bei meinem Beispiel auch Fehlermeldungen?
Ich hab nämlich die Hochkommas alle eingefügt...

EDIT: Poste hier mal den Quelltext eines funktionierenden Mails...
 
ja ich weis, nachdem ich sie wieder drausen hatte ginge es wieder (halbwegs).

So wenn ich diesen html teil versende, gehts.
Nur wenn ich ein Zeichen davor rausnehme gehts wieder nicht mehr......
Code:
div id="content"> 
<div id="leftside" style="width: 235px; height: 450px"> 
			<br><br> 
			<IMG SRC="http://....png" ALT="Grafik" WIDTH=250 HEIGHT=158> <br><br> 
<h3>
		</div> 
		<div id="rightside" style="width: 460px; height: 547px"> 
<p></p><br> 
<h1>Mein erstes Duathlon-Trainingsjahr 2009</h1> 
 
 <p> 
			Durch eine schwerere Verletzung, (ITBS) Ilio-tibiales Bandsyndrom (Entzündung von gekreuzt 				verlaufenden Kollagenfasern die an der Außenseite des Oberschenkels die Muskulatur stützt und 				vom Darmbeinkamm nach unten zieht und am Schienbeinkopf verankert ist) und Reizung der Kapsel 			beim langen Lauf 2 Wochen vor meinem erhofften Marathon-Debut muss ich seit her 
			das Lauftraining drastisch einschränken. Deshalb habe ich mir bei canyon.com ein Zeitfahrrad
			bestellt, um zu meiner verlorengegangene Kondition zurückzugelangen und vielleicht sogar etwas 			mehr aufzubauen.<IMG SRC="http:../lol.png" ALT="Grafik" WIDTH=15 HEIGHT=15> <br><br> 
<h1>Laufjahr 2008</h1> 
			<p> 
				Der Winter sowie einige Probleme mit Knie, Waden und Füßen hatte 
				mich etwas langsamer gemacht und ich musste März auch 2 Wochen 
				lang aussetzen. Im Mai hatte ich einige Probleme mich zu 
				motivieren. -Wie es weiter geht könnt ihr in meinen Blog 
				lesen.&nbsp;
				<a href="http://...com/">more ...</a> 
			</p> 
			<h1>Laufjahr 2007</h1> 
			<p> 
				Mein erstes Jahr als Läufer:&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;&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; 
				von Dez. 06 bis Jun. 07 bin ich meist 3 - 4 mal die Woche 
				gelaufen ca. 3 - 5&nbsp; km die Woche mit einer Pace zwischen 
				11:00 - 8:00 :)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
				Ende Jun. hatte ich dann meinen ersten langen Lauf (Wettbewerb)
				<a href="http://...de/">&quot;Laufen für 
				Äthiopien&quot;</a>&nbsp; 17,0 km in 1:59'16. Ab Juli begann meine 
				Vorbereitung für den Brombachseehalbmarathon. Meine Läufe waren 
				durchschnittlich 6 km lang und Sonntag ein langer Lauf 15 - 20 
				km mit einer Pace von durchschnittlich 6:30 - 6:40. Ende Sep. 
				war es dann soweit mein erster
				<a href="...html"> 
				Halbmarathon</a> in 2:20'52.&nbsp; 
 
 
 

				 
			</p> 
			<p> 
				&nbsp;</p> 
			
			
		</div> 

</div>

Lösche ich einen Teil wie z.B.
Code:
<IMG SRC="http://....png" ALT="Grafik" WIDTH=250 HEIGHT=158> <br><br>
kommt die E-Mail einfach nicht an.....
 
Ich meinte mit Quelltext eigentlich das bereits angekommene Mail inklusive allen Headern.
In Outlook Express geht das mit einem rechtsklick aufs Mail -> Eigenschaften -> Details -> Quelltext.

In den Headern des mails steht drin, was damit auf dem Weg zum Empfänger alles so passiert. Daraus kann man am besten herausfinden, wo der Fehler liegt.
 
Zurück
Oben