Hallo,
damit das Mailprogram wissen kann ob die mail Text oder HTML enthält muss dies im Header angegeben werden.
Dazu ist die Angabe des Content-Type umd MIME-Type notwendig. http://php.net/manual/de/function.mail.php
Hallo Forum,
habe in DW eine Newsmeldung für eMail gemacht. Es funktioniert tadellos. Das Senden und Empfangen klappt auch.
Nur, einen Fehler mache ich wohl. In Outlook und in WindowsLiveMail wird die Darstellung als Code dargestellt. Im Browser, nach Speichern in html wird es wieder richtig angezeigt. Also müßte der Code irgendwie anders formuliert werden. Was mache ich falsch? Hilft mir jemand dabei?
PHP-Code:<?php
$ganz = 'http://' . $_SERVER['HTTP_HOST'] . '/newsletter/';
$ganz_1 = 'http://' . $_SERVER['HTTP_HOST'];
$inhalt = '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.19088">
<META name="Content-Type" content="text/html; charset=utf-8"/>
<link href="'. $ganz.'/templates/xxx/css/Verein.css" />
<STYLE type=text/css>
body, html {
margin: 0;
padding: 0;
overflow: scroll;
background: #009900;
}
body {
text-align: center;
}
#shadow {
width: 620px;
margin: 0px auto;
overflow: visible;
z-index: auto;
background: #CCC url('. $ganz .'shadow_5px.png);
}
#inner {
background: #FFFFFF;
height: auto;
width: 600px;
color: #400000;
font: bold 24px Verdana, Geneva, sans-serif, Arial;
padding: 0px;
margin-right: 10px;
margin-left: 10px;
}
#foot {
background: #009900;
margin: 0px;
padding: 0px 0px 20px;
color: #FFF;
text-align: center;
font-size: 12px;
font-weight: bold;
}
p { text-align: center; }
#inner2 {
font: normal 14px Verdana, Geneva, sans-serif, Arial;
color: #400000;
margin: 0px;
padding: 0px;
}
</STYLE>
</HEAD>
<BODY>
<div id="shadow" >
<DIV id=inner>
<P><IMG title=Garath_Leiste border=0 alt=Garath_Leiste src="' . $ganz . 'Garath_Leiste.jpg" width=600 height=86 /></P>
<P><STRONG>Liebes ZZZZ-Mitglied ' . $zeile->Name. '!</STRONG></P>
<P> </P>
<P><STRONG>Hier wird dann jeweils ein neue News eingebaut.
Meinungen dazu?</STRONG></P>
<DIV id=inner2>
<P>Um die Anlage sehen zu können benötigen Sie den Akrobat Reader.<BR />
Dieser ist kostenlos und unter der nachfolgenden Adresse zu bekommen.</P>
<P><IMG title=acrobat_reader_165x165 alt=acrobat_reader_165x165 src="' . $ganz . 'acrobat_reader_165x165.jpg" width=69 height=69 /><BR />
<A title=http://get.adobe.com/de/reader/ href="http://get.adobe.com/de/reader/"><FONT face=ver>http://get.adobe.com/de/reader/</FONT></A></P>
<P>Falls Sie nur den Text empfangen wollen,<BR />
dann senden Sie eine eMail an <A title="mailto: webmaster@xxxxx.de" href="mailto: webmaster@xxxxx.de">Webmaster</A>.<BR />
Nun, die Textversion ist nicht so einladend wie es das PDF-Dokument ist.</P>
<P>Euer Webmaster<BR />
</P>
</DIV>
<DIV id=foot><IMG style="BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" title=Leiste_foot border=0 alt=Leiste_foot src="' . $ganz .'Leiste_foot.jpg" width=600 height=39 /><BR />
XXX Bürger- und Interessengemeinschaft ZZZZZZ e.V. <BR />
Vorstand: Vorsitzender: ZZZZ, 2. Vorsitzender: YYYYYY <BR />
Hompage: <A title=http://www.XXXXX.de/ href="http://www.XXXXXX.de">www.XXXXX.de</A> </DIV>
</DIV>
</div>
</BODY>
</HTML>';
?>
Hallo,
damit das Mailprogram wissen kann ob die mail Text oder HTML enthält muss dies im Header angegeben werden.
Dazu ist die Angabe des Content-Type umd MIME-Type notwendig. http://php.net/manual/de/function.mail.php
Grüße aus dem Odenwald
Thomas
hier der Teil für den Header:
ist noch im Aufbau für verschiedene Zwecke: ein Teil als HTML evtl. noch mit PDF oder was anderes der andere als Txt-Version. Den Header kann man noch sehen. Dieser Teil ist noch als Arbeitsdatei.
PHP-Code:<?php
session_start;
header( 'Content-Type: text/html; charset=utf-8' );
$ordner = $_SERVER['DOCUMENT_ROOT'];
require_once($ordner . '/Connections/verb.inc.php');
require_once($ordner . '/Connections/kami.php');
echo var_dump($_POST);
echo $br;
die;
//if ( isset($_POST['gese']) && $_POST['gese'] == 10)
//{
$zahl = 0;
// alle Empfänger in einer Zeile
// nicht vergessen das Komma ', '
//$empfaenger1 = 'rk@rkami.de' . ', ';
//$empfaenger1 .= 'rkaminski@arcor.de';
// eine Probe für eMail-Adressen
if (mysqli_connect_errno() == 0)
{
// Query vorbereiten und an die DB schicken / verschiedene Ausgaben
switch ( $_POST["RadioGroup1"])
{
case 0:
$sql = "SELECT vorname, nachname, CONCAT(vorname, ' ', nachname) as Name, email
FROM cccc_mitgl
WHERE email NOT LIKE '++%' AND email NOT LIKE '--%' AND email >'' ";
break;
case 1:
$sql = "SELECT vorname, nachname, CONCAT(vorname, ' ', nachname) as Name, email
FROM cccc_mitgl
WHERE email LIKE '++%' AND email >'' ";
break;
case 2:
$sql = "SELECT vorname, nachname, CONCAT(vorname, ' ', nachname) as Name, email
FROM cccc_mitgl
WHERE nachname = 'asljdf' ";
break;
}
echo sql;
die;
$ergebnis = $db->query( $sql );
// Anzahl gefunde Datensaetze ausgeben
// echo "<p>Es wurden " .$ergebnis->num_rows. " Einträge gefunden.</p>";
// Ergebnisse ausgeben
// Resourcen freigeben
}
else
{
// Es konnte keine Datenbankverbindung aufgebaut werden
echo 'Die Datenbank konnte nicht erreicht werden. Folgender Fehler trat auf: <strong>' .mysqli_connect_errno(). ' : ' .mysqli_connect_error(). '</strong>';
}
// Datenbankverbindung schliessen
while ($zeile = $ergebnis->fetch_object())
{
$empfang = $zeile->Name . '<' . $zeile->email . '>';
$betreff = 'Einladung der 10. Reserve';
// anderer Inhalt
include ('Inhalt_Newsletter.php');
// Bei HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
$header = 'Return-path: <tttt@zzzzz.de>' . "\r\n";
$header .= 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$header .= "Content-Type: multipart/mixed;\r\n";
// Headerangaben, wie To, From, CC, Bcc, etc. eingeben
$header .= 'To: '. $empfang . "\r\n";
$header .= 'From: xxxx<rk@zz-ort.de>' . "\r\n";
//$header .= 'Cc:' . "\r\n";
//$header .= 'Bcc: ' . "\r\n";
// Mail versenden
//mail($empfaenger, $betreff, $meldung1, $header);
if (@mail($empfang, $betreff, $inhalt, $header ))
{
//echo $inhalt . $br;
//echo 'Empfänger => ' . $empfang . $br;
// Bei erfolgreichem Versand Danke-Seite anzeigen
echo 'Danke, die Email wurde verschickt!_' . $zahl . ' => ' . date("d M Y h:i:s A") . $br;
} else {
echo "<H2>LEIDER NICHT GEKLAPPT!</h2>" . $zahl . $br;
}
//sleep ( 1 );
$zahl++;
}
//}
$ergebnis->close();
$db->close();
die;
?>
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)