Zum Inhalt springen

Direct Mail - Plain Text

Erstellt am 5. Januar 2005 · 1 Antwort · letzte Antwort am 7. Januar 2005

Tags: Frage

as72 ·

Ich habe die Direct Mail EXT installiert und so weit ans Laufen gebracht, dass meine Newsletter erfolgreich versendet werden.

Die HTML-Version ist in Ordnung, aber bei der Plain-Text-Version wird der Marker ###INHALT### nicht ersetzt! Woran kann das liegen???

Und dann habe ich noch eine Warnung im Backend:

Warning: implode(): Bad arguments. in /home/web/mcms.info/htdocs/gvsonline/t3lib/class.t3lib_befunc.php on line 3028

Habe schon alle beteiligten EXT rausgeschmissen und nochmal vom Onlinerep. heruntergeladen und neu installiert.[/quote]

Tsoukis ·

Hallo,

ein bischen hättest Du schon im Forum suchen können, dann hättest Du sicherlich irgendwann meine Antwort im Thread unter #6400 gefunden. Weil ich die Klugscheisser hasse, die immer nur mit "Dieses Thema ist schon behandelt worden" antworten, sag ich's eben zweimal:

Um die News dynamisch in einen Plain-Text-Newsletter zu bringen, sind die Typo3-Bordmittel vollkommen ungeeignet.
Viel simpler ist es, ausserhalb von Typo3 eine Datenbankabfrage durchzuführen. Dazu legen wir im Webroot eine Seite "news_plain.php" mit folgendem Inhalt an:

Code:

<?php
$db = mysql_connect(localhost,db_benutzername,passwort);

$res = mysql_db_query("typo3",
"SELECT tt_news.title,tt_news.short,tt_news.bodytext,tt_news.links FROM `tt_news` WHERE `hidden` = 0 AND `category` = 4 AND `archivedate` >= UNIX_TIMESTAMP() ORDER BY UID DESC;");

$datum = date("d.n.y");

$num = mysql_num_rows($res);

echo "Newsletter vom $datum (Textversion)
";
echo "====================================================
";
echo "Inhalt:
";

for ($i=0; $i<$num; $i++)
{
$title = mysql_result($res, $i, "title");
$short = mysql_result($res, $i, "short");
$bodytext = mysql_result($res, $i, "bodytext");
$links = mysql_result($res, $i, "links");

echo "$title : $short
";

}

echo "====================================================

";

for ($i=0; $i<$num; $i++)
{
$title = mysql_result($res, $i, "title");
$short = mysql_result($res, $i, "short");
$bodytext = mysql_result($res, $i, "bodytext");
$links = mysql_result($res, $i, "links");

echo "$title
";
echo "$short
";
echo "$bodytext
";
echo "$links

";
}
mysql_close($db);
?>

In Zeile 2 wird die Verbindung zur DB aufgebaut. "db_benutzername" und "passwort" müssen durch die entsprechenden Angaben ersetzt werden. Ebenso muss die Kategorie angepasst werden.

Diese Seite ruft man dann innerhalb von T3 auf, wenn man den Plaint-Text-Newsletter versenden will, und zwar mit "http://www.domain.de/news_plain.php", ohne Zusatz irgendwelcher Anhängsel wie "&type=99".

Dies funktioniert, sofern zu allen News ein Archivdatum angegeben wird, ansonsten muss der Code leicht modifiziert werden.

Um Umlaute und html-Tags aus dem Newsletter zu entfernen, sollten vielleicht noch einige ereg-replace's in den php-Code eingefügt werden.

Unter dem oben angeführten Thread findest Du auch Hinweise, warum Dein Marker nicht mit Inhalt gefüllt wird. Hilft letztendlich nicht wirklich weiter, ist aber interessant.

Herzliche Grüße,

Thomas