Mam problem z funkcja mail(). Wysyłam mail w HTML'u i po odebraniu go w Thunderbirdzie i GMail'u wszystko wyglada ok, a przy odbieraniu przez Gazeta.pl i WP.pl tresć mail jest widoczna podwójnie tzn. w jednym emailu mam poprawna tresć wiadomości a zaraz pod nią w tym samym emailu powtórzenie.
<?
/*
* sendNewsletter.php
*
*
*/
require("config.ini.php");
$database = new mysqli($dbHost, $dbUser, $dbPassword, $dbDatabase);
$database->set_charset("utf8");
$subject = "";
//define('SMARTY_DIR', 'smarty/libs/');
//require_once(SMARTY_DIR . 'Smarty.class.php');
//$smarty = new Smarty();
//$smarty->debugging = true;
function composeMessage($parentId)
{
global $database, $settings, $subject; $messages = $database->query($q = "SELECT newsletter.id, newsletter.sendTime, newsletter.type, newsletter.time
, newsletter.subject, newsletter.content, newsletter.category, newsletter.addBook
, newsletter.sent FROM ".DB_PREFIX."newsletterMessages as newsletter WHERE (id = ".$parentId." AND parentId = 0) OR parentId = ".$parentId." ORDER BY parentId ASC");
$message = $messages->fetch_row();
do
{
switch($message[6])
{
case "":
$categories[$message[6]] = "<span style=\"".$settings->getValue("newsletter", "MainContentStyle")."\">".$message[5]."</span></br>";
$subject = $message[4]." - ".date($settings->getValue("newsletter", "DateFormat"), $message[1
]); break;
default:
$categories[$message[6]] = "<span style=\"".$settings->getValue("newsletter", "CategoryHeaderStyle")."\">".$message[4]."</span></br>" .
"<span style=\"".$settings->getValue("newsletter", "CategoryContentStyle")."\">".$message[5]."</span></br>";
break;
}
}
while($message = $messages->fetch_row());
return $categories;
}
function sendNewsletter($type, $addBook, $message)
{
$categories = $message;
$users = $database->query($q = "SELECT email, fullName, newsletterCategories, chaptersSent FROM users WHERE
(newsletter = \"".$type."\" OR '".$type."' = 'oddly') AND privileges NOT LIKE '%newsletterInactive%';");
while($user = $users->fetch_row())
{
if($user[0] == "") continue;
$message = "<html><body>";
$message.=$categories[""];
foreach(split(",", $user[2
]) as $category) {
$category = trim($category); {
$message.=$categories[$category];
}
}
$message.="</body></html>";
print("Wysłano wiadomość do".$user[0
]); mail($user[0
], $subject, stripslashes($message), "From: capITalis.pl<newsletter@capitalis.pl>r\nContent-type: text/html; charset=utf-8r\n"); }
}
$messagesToSend = $database->query("SELECT id, type, addBook FROM ".DB_PREFIX
."newsletterMessages WHERE sendTime<".time()." AND parentId = 0 AND sent = 0"); while($message = $messagesToSend->fetch_row())
{
sendNewsletter($message[1], $message[2], composeMessage($message[0]));
$database->query("UPDATE ".DB_PREFIX."newsletterMessages SET sent = 1 WHERE id=".$message[0]);
}
?>
Proszę o pomoc.
Pozdrawiam,
Krzysiek Bielicki