14 Aug 2016

Joomla Modul RSContact schickt keine Mails

Ausgangssituation:

  • Joomla 3.7.5 (für Joomla 3.8.0 ist der Pfad libraries/src/Mail/Mail.php Zeile 697)
  • RSContact Modul 1.1.5
  • Beim Abschicken des Kontaktformulares erscheinen zwei Meldungen:
    • z.B.: Vielen Dank, wir werden uns in Kürze bei Ihnen melden!
    • Während der Übertragung ist ein Fehler aufgetreten. Die E-Mail wurde nicht verschickt!
  • Im Error Log des Apache ist nichts zu sehen
  • Im Joomla Log ist nichts zu sehen

Beim Abschicken eines Kontakformulars Eurer Joomla Webseite erscheint also eine Fehlermeldung - und in meinem Fall auch eine Erfolgsmeldung. Aber eine E-Mail kommt nicht an. Ich habe dies im Joomla Code recht lange gesucht und auch Stackoverflow konnte nicht helfen, letztendlich ist dies meine Lösung (allerdings in den Core Files, geht bestimmt besser).

In der Datei libraries/joomla/mail/mail.php Zeile 693 Funktion sendMail habe ich die if erweitert mit 

!empty($cc) && !empty($cc[0])

Bzw. dem entsprechenden Pendant - im Endeffekt sehen die Abfragen jetzt so aus:

                if ($this->addRecipient($recipient) === false)
                {
                        return false;
                }
                if (!empty($cc) && !empty($cc[0]) && $this->addCc($cc) === false)
                {
                        return false;
                }

                if (!empty($bcc) && !empty($bcc[0])  && $this->addBcc($bcc) === false)
                {
                        return false;
                }

                if (!empty($attachment) && !empty($attachment[0])  && $this->addAttachment($attachment) === false)
                {
                        return false;
                }

                // Take care of reply email addresses
                if (!empty($replyTo) && !empty($replyTo[0]) && is_array($replyTo))
                {
                        $numReplyTo = count($replyTo);

                        for ($i = 0; $i < $numReplyTo; $i++)
                        {
                                if ($this->addReplyTo($replyTo[$i], $replyToName[$i]) === false)
                                {
                                        return false;
                                }
                        }
                }
                elseif (!empty($replyTo) && isset($replyTo))
                {

Aus mir unerfindlichen Gründen sind die Werte $cc, $bcc und $attachment - zum Teil auch $replyTo nicht === false sondern Arrays mit einem leeren Element.

Jetzt verschickt mein Joomla also wieder Mails an mich - falls jemand weiß wie ich RSContact Update sicher erweitere, bin ich für Hinweise dankbar :-)


Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden. Impressum
Weitere Informationen