Hallo zusammen,
ich habe einen kleinen Newsletter erstellt, welchen ich monatlich via cronjob ausführen lasse.
Bisher lief alles reibungslos. Mit dem heutigen Newsletter sind erstmals Probleme aufgetaucht, ich denke es liegt daran, dass Dezember und Januar angezeigt werden sollen.
Der Newsletter gibt immer die Geburtstagskinder der kommenden 2 Monate aus.
<?php
$monate = array(
1=>"Januar",
2=>"Februar",
3=>"März",
4=>"April",
5=>"Mai",
6=>"Juni",
7=>"Juli",
8=>"August",
9=>"September",
10=>"Oktober",
11=>"November",
12=>"Dezember");
$monat1 = date("n") + 1;
$monat2 = date("n") + 2;
$Empfaenger = "233,";
$Empfaenger .= "123,";
$Betreff = "Aktuelle Geburtstagskinder des TTC`s der kommenden Monate: $monate[$monat1] und $monate[$monat2]";
$Nachricht = "
<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
<title>123 - Geburtstage</title>
<style type=\"text/css\" media=\"screen\">
body
//CSS entfernt
</style>
</head>
<body>
";
//Datenbank verbinden
include ("../../zugang.php.inc");
//$Nachricht .= "
// <p>Falls der Geburtstagsnewsletter nicht richtig angezeigt wird, bitte <b><a class =\"links\" href =\"http://www.123.de/mailversand/html_anzeige_mail_geburtstage.php\">hier</a></b> klicken!</p>
// ";
$Nachricht .= "
<div style=\"width:698px;text-align:left;border:solid 3px #000000;\">
<div id=\"kopf\">
<img src=\"http://123.de/mailversand/mail_header.jpg\" width=\"698\" height=\"150\" alt=\"Mail Header\">
</div>
<div id=\"main\">
<p> Hallo zusammen, <br /><br /> hier die aktuellen Geburtstagskinder des TTC`s der nächsten 2 Monate:<br /> <b>$monate[$monat1] und $monate[$monat2]</b></p>
";
//sql1 Befehl
$sql = "
SELECT id, name, vorname, geburtsdatum, (YEAR(CURDATE()) - YEAR(geburtsdatum)) AS `alter`, DAYOFMONTH(geburtsdatum) AS geburtstag, MONTH(geburtsdatum) AS geburtsmonat
FROM geburtstagsliste
WHERE MONTH(geburtsdatum) BETWEEN MONTH(DATE_ADD(CURDATE(),INTERVAL 1 MONTH)) AND MONTH(DATE_ADD(CURDATE(),INTERVAL 2 MONTH))
ORDER BY geburtsmonat, geburtstag";
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}
function date_mysql2german($date) {
$d = explode("-",$date);
return sprintf("%02d.%02d.", $d[2], $d[1], $d[0]);
}
function timestamp_mysql2german($date) {
$d = explode("-",$date);
return sprintf("%02d.%02d.%04d", $d[2], $d[1], $d[0]);
}
$anzahl = mysql_num_rows($db_erg);
if ($anzahl == 0) {
$Nachricht .= "
<p> In dem oben angegebenen Zeitraum gibt es keine Geburtstagskinder des TTC´s.</p>
";
}
else {
$anzahl = 1;
while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
$expDate = explode(" ",$zeile['geburtsdatum']);
$Nachricht .= "
 ". $zeile['vorname'] ."
". $zeile['name'] ." hat am
". date_mysql2german($expDate[0])." ".substr($expDate[1],0,5)." Geburtstag und wird
". $zeile['alter'] ." Jahre alt
(". timestamp_mysql2german($expDate[0])."".substr($expDate[1],0,5).")
<br />";
$anzahl++;
}
mysql_free_result( $db_erg );
}
$Nachricht .= "
<p> Mit freundlichen Grüßen<br /> 123<br /> Webmaster 123</p>
<p> checkout: <b><a class =\"links\" href =\"http://www.tt123.de\">www.123.de</a></b><br />
 Kontakt: <b><a class =\"mailto\" href =\"mailto:\">1 [at] 1 [Punkt] de</a></b></h1></p>
</div>
</div>
";
// Datenbank schließen
mysql_close($link);
$Nachricht .= "
</body>
</html>
";
$Header = "MIME-Version: 1.0\n";
$Header .= "Content-type: text/html; charset=iso-8859-1\n";
$Header .= "From: <i1@1.de>\n";
mail($Empfaenger, $Betreff, $Nachricht, $Header);
echo "$Nachricht\n";
?>
Kann mir jemand sagen, wo das Problem liegt und wie es behoben werden kann?
Danke
MfG tobsp