Die Emailsoftware “Mailing List Manager Pro” ist ja schön und gut, hat aber auch ihre Macken. Zumindest bei uns auf dem Server. Ich hatte mir die PHP Software für meine Kunden gekauft, da das bisher eingesetzte OpenSource Produkt phplist teilweise extreme Probleme beim Versand größerer Mengen hatte.
Nun gut. Software aufgesetzt, Testkampagne angelegt und verschickt. Problemlos. Als ich allerdings kommt es beim Eintragen in eine Liste zu unschönen Dingen:
1) Alle Mailinggruppen werden aufgelistet
Ich möchte für jeden meiner Kunden eine eigene Anmeldeseite. Wenn ich die Subscription-Form aufrufe, erscheinen allerdings alle im System befindlichen Gruppen. Da es im Internet keine Doku gibt, wie die Software zu verwenden ist, bzw. welche Parameter zu übergeben sind, habe ich die Datei subscribe/index.php etwas angepasst.
Hierzu vor dem Codeblock (ca. Zeile 283)
$sql=”select id, title from $table_g
where
enabled=’1′
“.($r["group_list"] ? ” and id in (”.$r["group_list"].”)” : “”).”
order by position”;
die Zeile
$r['group_list'] = $_GET['grouplist'];
einfügen.
Wenn ich nun die Anmeldeseite mit dem Parameter ?grouplist=XY (wobei XY für die Mailing-Gruppen-ID steht) aufrufe, wird nur diese Gruppe angezeigt. Da die Nutzer wahrscheinlich vergessen, das Häckchen vor der Mailinggruppe zu setzen, habe ich die Datei /templates/subscribe/form.tpl ab Zeile 38 wie folgt angepasst:
<tr>
<td valign=”top”>{rs:MAILING_GROUPS}:</td>
<td>
<table cellspacing=”0″ cellpadding=”0″ border=”0″>
{row:GROUPS_SELECT}
<tr>
<td><input type=”checkbox” name=”r[group_id][]” value=”{id}” checked></td>
<td>{title}</td>
</tr>
Da mich die Encoding-Geschichte für die Kunden meiner Kunden auch nicht interessiert, habe ich diesen Block darüber einfach mit dem Style “display:none” ausgeblendet
2) Bestätigungsemails werden beim Ein- und Austragen nicht versendet.
Eine ärgerliche Sache, wenn die Postfächer bzw. der Mailserver nicht auf dem gleichen Rechner wie der Webserver läuft. Trotz der Einrichtung der SMTP-Zugangsdaten in der Mailingsoftware, werden die Emails nicht verschickt.
Woran lag es: die Mailing List Manager Pro Software von shedix verwendet den hardgecodeten “localhost”-Server.
Um dies zu umgehen, bedarf es der Auskommentierung der Zeilen 157 + 158 der Datei /tools/class.smtp.php wie folgt:
function send_mail() {
//$this->info["host"]=”localhost”;
//$this->info["port"]=25;
return $this->send();
Doch damit noch nicht genug. Beim Eintragen klappt es zwar jetzt, allerdings bekommt der Nutzer immer noch keine Bestätigungsmail beim Austragen.
Hierfür muss man noch die Server-Daten in der Datei unsubscribe/index.php in der Variablen $array ab Zeile 44 ergänzen:
$array=array(
“login” => $settings["autoresponder"]["smtp"]["login"],
“password” => $settings["autoresponder"]["smtp"]["password"],
“host” => $settings["autoresponder"]["smtp"]["host"],
“port” => $settings["autoresponder"]["smtp"]["port"],
“from_name” => $settings["mail_from_name"],
“from” => $settings["autoresponder"]["smtp"]["mail"],
“reply_to” => “”,
“to_name” => $r["name"],
“to” => $r["mail"],
“subject” => $db->get_val(”pages”.$config["table_prefix"], “subject”, “where name=’unsubscribe_confirm’”),
“message” => str_replace($f, $v, $message),
“charset” => $settings["encoding"],
“content_type” => “text/plain”,
);
So, damit klappt der An- und Abmeldevorgang bei mir ganz gut.
Es gibt jedoch noch weitere Anpassungen, die ich vornehmen musste. Die kommen hier dann so nach und nach rein. Vielleicht hat auch schon jemand die dict.ru auf Deutsch übersetzt. Würde mich freuen!