08.09.10 11:53
Kategorie: PHP
PHPlist E-Mails über mehrere Server versenden
PHPlist ist ein sehr umfangreiches OpenSource Programm für Newsletter.
Für wirklich große Installationen hat das Programm den Nachteil, dass es die E-Mails nur über einen einzigen SMTP-Host versenden kann, der als konstanter Wert in das config-File eingetragen wird.
Nicht einmal Versuche über DNS-Round-Robin mehre Server zu nutzen haben Erfolge gezeigt.
Mit kleinen Anpassungen am Programm ist es jedoch möglich. Wir werden auch versuchen die hier genannten Änderungen den Entwicklern zukommen zu lassen, so dass sie vielleicht Einzug in kommende Versionen finden.
Die Anpassungen erfolgen mit wenigen Zeilen Code:
Alle Zeilennummern beziehen sich auf die Version 2.10.12 von phplist
config.php
sendemaillib.php
//Zeile 23 //alt: function sendEmail ($messageid,$email,$hash,$htmlpref = 0,$rssitems = \ //neu: function sendEmail ($smtphost,$messageid,$email,$hash,$htmlpref = 0,$rssitems \ //Zeile 609: //alt: $mail = new PHPlistMailer($messageid,$destinationemail) //neu: $mail = new PHPlistMailer($messageid,$destinationemail,$smtphost)
processqueue.php
//Zeile 352 $host_divide = 60/$hosts_count; //Zeile 641 $smtphost = $smtparray[$host_nr]; //Zeile 647 //alt: $success = sendEmail($messageid,$useremail,$userhash,$htmlpref,$rssitems); //neu $success = sendEmail($smtphost,$messageid,$useremail,$userhash,$htmlpref,$rssitems);
class.phplistmailer.php
//Zeile 25 //alt: function PHPlistMailer($messageid,$email) { //neu: function PHPlistMailer($messageid,$email,$mailhost) { //Zeile 39 //alt: $this->Host = PHPMAILERHOST; //neu: $this->Host = $mailhost;
(te)



