Bei mir kann die Zeilennummern mit dem Original Datei von ispcp-arpl-msgr nicht uebereinstimmen. Alle Programmcode hier ist von der Datei /var/www/ispcp/engine/messager/ispcp-arpl-msgr.
Eigentlich das Problem liegt bei dem Variable $edmn.
Der Codeabschnitt ist wie folgt.
Code:
729 #$edmn = $edmn[1];
730
731 $edmn = $2;
732 if($edmn =~ /ispcp-arpl\.(.+)/i) { $edmn = "$1"; }
733
734 $sql = "select count(domain_id) as cnt from domain where domain_name = '$edmn'";
735
736 ($rs, $ref) = doSQL($sql);
737
738 return $rs if ($rs != 0);
739
740 $ref = @$ref[0];
741
742 if (@$ref[0] == 1) {
743
744 $pt = 1;
745
746 } else {
747
748 $sql = "select count(alias_id) as cnt from domain_aliasses where alias_name = '$edmn'";
749
750 ($rs, $ref) = doSQL($sql);
751
752 return $rs if ($rs != 0);
753
754 $ref = @$ref[0];
755
756 if (@$ref[0] == 1) {
757
758 $pt = 2;
759
760 }
761 else {
762
763 $pt = 3;
764
765 }
766
767 }
Ich habe nach dem $edmn = $2; in Zeile 731, die Zeile 732 eingefuegt. Weil in $edmn 'ispcp-arpl' steht. Man muss 'ispcp-arpl' von $edmn loeschen, sonst landet man in der Zeile 763. Das heisst $pt =3; Und dann wird die folgende sql Abfrage ausgefuehrt, und der liefert keine Ergebnisse. Da in $edmn 'ispcp-arpl' steht.
Code:
780 elsif ($pt == 3) {
781
782 $sql = "select mail_auto_respond from mail_users LEFT JOIN subdomain ON mail_users.sub_id=subdomain.subdomain_id LEFT JOIN domain ON subdomain.domain_id=domain.domain_id where mail_acc = '$user' and mail_auto_respond != '_no_' and (CONCAT(subdomain_name,'.',domain_name) = '$edmn');";
783
784 }
Noch muss man $auto_message = '_no_'; standard _no_definieren, weil unsere abfrage liefert dies mal richtige Ergebnisse. Dann ist die if in Zeile 797 jetzt Sinnvoll.
Code:
792
793 $ref = @$ref[0];
794 my $auto_message = '_no_';
795 $auto_message = @$ref[0];
796
797 if ($auto_message ne '_no_' && length($auto_message) > 0) {
Kurze Zusammenfassung:
- Nach $edmn = $2; in Zeile 731, Zeile 732 einfuegen.
- Zeilen 793, 794, 795 und 797 wie oben anpassen.
Dann sollte erledigt sein.
Wenn nicht dann in der Datei ispcp-arpl-msgr, $main::engine_debug = '_on_'; einschatlten. Und die logs Dateien schauen. Die logs sind unter:
/var/log/ispcp/ispcp-arpl-msgr/