Hallo, ich verwende jetzt folgenden Code für den HTML-Newsletter im Output:
Code: Alles auswählen
<?php
// HTMLNewsletter v0.2
// (c) Maurer IT Systemlösungen
// Autor: Ing. Christian Schuller
// Date: 22.01.2004
// This is a good BETA Version, but there will be no guarantee for anything.
// If you find any BUGS, please use the forum (http://www.contenido.de/forum)
// or write me an email to christian@maurer-it.com
// Konfiguration vars
$cfg_basedir = "moduls/HTMLNewsletter/";
$cfg_mail_subject = "CMS_VALUE[1]";
$cfg_mail_from = "CMS_VALUE[2]";
require($cfg_basedir."multipart_mime_mail.php");
if (!isset($noex))
{
if (!isset($send))
{
if ($edit==true)
echo "<a href='".$auth->url()."&send=1'>".i18n("Send Newsletter")."</a>";
}
else
{
$file = $cfgClient[$client]['path']['htmlpath']."front_content.php?idcat=$idcat&idlang=$lang&idart=$idart&idclient=$client&noex=1";
$handle = @fopen ($file, "r") or die("wrong file:".$file);
$body = "";
while (!feof ($handle))
{
$body = $body.fgets($handle, 4096);
}
fclose ($handle);
// Do some magic things with url,links,and so on...
//$body = str_replace("src=\"","src=\"".$cfgClient[$client]['path']['htmlpath'],$body);
//$body = preg_replace('/href="([^h][^t][^t][^p][^:].*)"/','href="'.$cfgClient[$client]['path']['htmlpath'].'$1"',$body);
$body = preg_replace('/[sS[rR][cC][ ]*=[ ]*"([^h][^t][^t][^p][^:].*)"/','rc="'.$cfgClient[$client]['path']['htmlpath'].'$1"',$body);
$body = preg_replace('/[hH][rR][eE][fF][ ]*=[ ]*"([^h][^t][^t][^p][^:][A-Za-z0-9\.?\-=_&]*)"/','href="'.$cfgClient[$client]['path']['htmlpath'].'$1"',$body);
$body = preg_replace('/url\((.*)\)/','url('.$cfgClient[$client]['path']['htmlpath'].'$1)',$body);
//echo "-->".$body;
$message[1]['content_type'] = 'text/html; charset=de-ascii';
$message[1]['filename'] = '';
$message[1]['no_base64'] = TRUE;
$message[1]['data'] = $body;
$out = mp_new_message($message);
$db = new DB_Contenido;
$sql = "SELECT email FROM ".$cfg["tab"]["news_rcp"]." where idlang=".$lang." and idclient=".$client." and deactivated=0";
$db->query($sql);
while ($db->next_record())
{
mail(urldecode($db->f('email')), $cfg_mail_subject, $out[0], "From: ".$cfg_mail_from."\n".$out[1]);
}
}
}
?>
Funktioniert auch gut mit dem Versenden und dem Einbinden von Fotos. Leider habe ich Probleme mit dem Einfügen von Links. Wenn ich einen relativen Link mit dem WYSIWYG-Editor einfüge (auf eine interne Seite) wird dieser nicht in einen absoluten umgewandet.
Ich verwende zum Aufrufen über die Navigation einen Link mit mod-rewrite und wenn ich diesen als Link angeben (ebenfalls relativ) funktionioniert die Umwandlung ausgezeichnet.
Wenn ich einen Links mit front-content.php... einfüge wird dieser nicht umgewandelt.
Hm war jetzt sicher kompliziert geschrieben, ich hoffe ihr versteht was ich meine. Das umwandeln funktioniert grundsätzlich, allerdings nicht wenn ich Links mit dem Editor einfüge (auch wenn ich dies absolut mache, weil der Editor die automatisch auf relativ ändert).