MisterEstate J!Komponente

Das Problem mit dem Mail-Versenden in MisterEstate

Bewertung:  / 1
SchwachSuper 

Ja, das leidliche Mail-Problem ist bisher nach wie vor unbeantwortet und ungelöst.

Ich habe mich mal intensiver mit der Problematik beschäftigt, in dem ich die Scripte und die diesbezüglichen Datenbankanfragen analysiert habe.

In meinem Fall konnte ich folgende drei Problem und Ursachen lokalisieren:

1.
MisterEstate arbeitet noch immer mit der PHP-Mail-Funktion (phpMailer). Es gibt jedoch viele Server auf denen das nicht ohne weiteres nutzbar ist. Leider habe ich an anderer Stelle mal feststellen dürfen, dass es Konstellationen gibt, bei denen der phpMailer fehlerhaft ist. Deshalb habe ich bei mir in allen Joomla-Projekten auf SMTP als Mailer umgestellt (s. J!Konfiguration).




Der Vorteil: Alle J!Componenten die sauber/akuell programmiert sind, greifen auf die J!-interne Mail-Funktion zurück und die arbeite fallweise mit dem was eben in der Konfiguration eingestellt ist. Leider nicht ME. Deshalb passiert es dass man z.B. aus dem J!Kontaktformular Mails versenden kann, aber aus ME nicht. Ich habe meine misterestate/detail.php so umprogrammiert, dass Sie die J!Mail-Funktion nutzt und schon ging's ...

2.
... vorausgesetzt auch das 2. Problem stellt sich nicht noch störend entgegen. Was leider nirgends erwähnt wird - in sämtlichen Anleitungen: In o.g. detail.php gibt es eine SQL Abfrage der Kontaktperson, der das Objekt gehört und es wird nach access <= $gid gefragt.
Zur Erläuterung: access ist in Joomla die "Zugriffsebene" die für einen Kontakt in der Kontaktverwaltung (nicht Benutzerverwaltung!) unter gleichnamiger Option eingestellt werden kann. Bei mir war das für den Kunden und den Admin auf "Spezial" gestellt, was dem Wert 2 entspricht.
Wird diese Bedingung nicht erfüllt, kann kein Kontakt gefunden werden und folglich geht auch keine Mail raus.

3.
Ein oft angesprochenes Problem und vermutlich an anderen Stelle schon mal beantwortet (selbst nicht gefunden), ist in der Release 1.6.1 nicht behoben und führt zu Fehlverhalten. Einige User beschrieben den Effekt, dass wenn das QuickSearch-Modul aktiviert ist, das Mail-Senden nicht funktioniert, andere dass die Suchfunktion nicht funktioniert.
Der Grund ist einfach: Beide Formulare verwenden je ein Script in denen es eine gleichnamige Funktion validate() gibt, aber  unterschiedliche Parameter erwarten. Wird also beim Absenden eines der Formulare die fälschlich die Validierungsfunktion des anderen Formulars gefunden, führt das zu einem Scriptfehler. Diesen sieht man nur mit FireBug. Eine Fehlermeldung ist nicht zu erwarten.

Ich habe in beiden Formularen die validate-Funktionen zueinander unterschiedl. benannt und schon gings.


---

Ein viertes Problem ist auch gleich noch angespr. was aber nicht relevant für das Senden ist, sondern lediglich das Feld Besichtigung (inspect) betrifft. Das wird als solches nicht gesendet, weil die Checkbox im JS nicht korrekt ausgewertet wird. Bei mir hat's geholfen folgende Zeile einzufügen:

if ( form.inspect.checked ) { form.inspect.value = 1 } else { form.inspect.value = 0 };

---

Ein weiterer Grund statt der phpMailer-Funktion die J!Bibliotheken zu verwenden, ist dass z.B. die Class JMailerHelper auch Methoden zur Verfügung stellt, mit der Nutzereingaben in die Formularfelder vorher von injected Code befreit werden können, womit die Sicherheit von J! nicht durch die ME-Mail-Funktion unterlaufen würde.

  • Keine Kommentare gefunden

Einen Kommentar verfassen

Als Gast kommentieren

0
Deine Kommentare erfordern die Moderation durch den Administrator
Nutzungsbedingungen.
Suche - Kategorien
Suche - Inhalt
plg_search_attachments
VM - Search, Virtuemart Product

Ihr Warenkorb

 x 
Ihr Warenkorb ist noch leer.