Formular "Could not instantiate mail function"

  • Liebe Leser,
    ich habe auf unserer Seite http://www.hotelangelika.com ein Kontaktformular eingefügt, das u.a.auch die Eingabe einer E-mail Adresse des Kontaktsuchenden einfordert. Gibt man dort eine gültige Adresse ein, lautet die Fehlermeldung "Could not instantiate mail function". Das Formular funktioniert jedoch einwandfrei, wenn man dort unsere eigene Mailadresse eingibt (das ist aber nicht Sinn der Sache) oder das entsprechende Feld als Textfeld definiert, das Zeichen @ vermeidet und anstelle dessen z.B. das Kürzel [at] verwendet.
    Laut Aussage unseres Hosting Providers (http://www.easyname.at) wird auch hier geprüft, ob die E-mail Adresse dem Server bekannt ist. Unbekanntes wird (wie schon hier mehrmals angesprochen) verworfen. Das Problem wäre nur durch Umprogrammierung des Formulars lösbar. In Verwendung stehen PHP 5.5 und Apache 2.4.
    Meine Fragen:
    1. stimmt diese Aussage?
    2. wie macht man dem Server eine im Vorfeld unbekannte Mailadresse bekannt?
    Vielen Dank für die fachkundige Beantwortung.

    MfG
    Gerhard

  • Wir fügen die E-Mail des Formular-Ausfüllers nicht etwa als Absender-Adresse (dafür wird die in den Formular-Optionen eingegebene Adresse verwendet), sondern hängen Sie lediglich als "Reply-To"-header in die Mail mit rein, damit Sie als Empfänger in Ihrem E-Mail-Client einfach auf "Antworten" klicken können ohne sich selbst zu antworten.

    Ich vermute, Ihr Provider prüft irgendwie alle E-Mail-Adressen in der Mail, statt nur die tatsächliche Empfänger-Adresse zu prüfen. Kann das sein? Ich denke der Provider sollte etwas mehr Details zum Fehler in seinen Protokoll-Dateien sehen können.

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

  • Ich vermute, Ihr Provider prüft irgendwie alle E-Mail-Adressen in der Mail

    Das wäre dann aber wohl ziemlich ungewöhnlich? Kein Reply-To, Bcc oder Cc ... und auch der Versand an mehrere unterschiedliche Empfänger (To) wäre dann wohl unmöglich. Als Webseitenbetreiber würde ich dann aber den Hoster wechseln. Ich vermute mal eher das Gerhard an einen überarbeiteten Mitarbeiter im Support geraten ist ... und würde nochmals nachfragen. Zumal der Support leicht feststellen kann wo das Problem(chen) wirklich liegt.

    Ich vermute einmal das kein verifizierten Absender für (PHP-) Skripte bzw. Sendmail bei den Einstellungen auf dem Webserver angegeben wurde?. Gerhard ... schau einmal deine Einstellungen auf deinem Webserver näher an. Bei welchem Hoster liegt deine Seite? Dann kann dir hier eventuell jemand auch sagen wo du selber nachsehen könntest.

    Mit freundlichem Gruß, Jan

  • Hallo Gerhard,

    was anderes ist mir aber beim Besuch der Webseite aufgefallen. Unter Aktuelle Angebot und den dortigen Unterseiten wurde versucht die eMail Adresse zu maskieren (... [at] ... [dot] ...). Im Quelltext liegt aber die eMail-Adresse als vollständiger Link vor. Und genau der Quelltext wird von Spam Bots nach solchen Adressen durchsucht. Sprich - du erreichst damit nicht das gewünschte Resultat. Im Gegenteil! Jeder Spam-Bot freut sich über dein Angebot auf dem Silbertablett ;)

    Wenn schon - denn schon: OHNE Verlinkung: office[im]hotelangelika[punkt]com (Achtung!: Ersetze [im] durch @ und [punkt] durch .

    Nunja, geübte Surfer werden damit umgehen können ... viele werden damit aber nichts anfangen können und werden damit den gewünschten Kontakt nicht aufnehmen.

    Du kannst natürlich auch die richtige eMail-Adresse z.B in eine Grafik mit passenden Abmessungen packen und dann auf die Seite stellen. Der Besucher sieht diese und kann die Adresse in sein eMail-Programm übernehmen. Der böse Bot hat nichts von der Adresse.

    Oder ... such selber einmal nach den Möglichkeiten wie man eMail-Adressen maskieren kann. Dabei nicht vergessen das auch böse Bots immer wieder dazulernen.

    Aber - Besser du verlinkst einfach auf die Kontaktseite. Das ist IMHO der bessere und sicherer Schutz der eigenen eMail-Adresse.

    Mit freundlichem Gruß, Jan

  • Hallo GerhardV,

    wenn wir ausschließen können, dass Ihr Provider auch den "Reply-To"-header in der Mail prüft, können wir nur noch selbst weitere Tests auf Ihrem Server durchführen. Dazu benötigen wir dann die FTP-Zugangsdaten. Melden Sie sich ggf. hier nochmals, dann teile ich Ihnen mit, wie Sie uns die Zugangsdaten zukommen lassen können.

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

  • Hallo SSeiz, hallo Jan,

    zunächst vielen Dank für die Beiträge. Auf mein Drängen hat ein anderer Mitarbeiter des Providers versprochen, sich des Problems anzunehmen, leider gibt es aber bis dato keine Rückmeldung. Deshalb würde ich gerne die FTP-Zugangsdaten auf eine sichere Art und Weise bekanntgeben.
    Unser Hoster ist Easyname (https://community.zeta-producer.com/www.easyname.at), im Log-in Bereich kann man auch sämtliche PHP-Einstellungen nachlesen. Leider reichen meine Kenntnisse nicht aus, um daraus Schlüsse zu ziehen. Die Core-Einstellungen für Sendmail lauten jedenfalls: sendmail_from no value, sendmail_path /usr/sbin/sendmail -t -i. Hilft das eventuell weiter oder sind andere Einstellungswerte relevant?

    Verschlüsselte E-mail Adressen: danke für den Hinweis, das sieht nach einem neulichen Problem aus. Ich habe auf https://community.zeta-producer.com/www.onsite.org unsere Mailadresse verschlüsselt und den HTML-Text in den HTML Quelltext des Artikels hineinkopiert - leider ändert das Programm nach der OK-Bestätigung den Text wieder auf die unverschlüsselte Form. Ich verwende das Layout "Simple Responsive", Version 12.5.7.0 Express.
    Werde zukünftig (wenn das Formularproblem gelöst ist) wie angeraten Links zu der Kontaktseite legen.

    Mit freundlichen Grüßen,
    Gerhard

  • Hallo Gerhard,

    Die Core-Einstellungen für Sendmail lauten jedenfalls: sendmail_from no value, sendmail_path /usr/sbin/sendmail -t -i.


    Das kann schon OK so sein, abhängig vom Hoster muss da nichts unbedingt in dem Eintrag sendmail_from stehen. Aber dann wirst du irgendwo in den Einstellungen eine Standart eMail-Adresse für die Ausführung von Scripten angeben müssen. Schau mal z.B hier in einer FAQ eines Hosters zu dem Thema.

    Aber warte einmal auf den Rückruf des Mitarbeiters von deinem Hoster. Der sollte dir genau sagen wo du eventuell eine eMail-Adresse eingeben musst.

    Mit freundlichem Gruß, Jan

  • Hallo GerhardV,

    senden Sie mir bitte einen Link zu diesem Forumsbeitrag (als Referenz) und Ihre Zugangsdaten (Website-Domainnamen, FTP-Servernamen, Benutzernamen und Passwort) per E-Mail an support[ät]zeta-producer.com ([ät] durch @ ersetzen). Ich schau mir das dann gleich am Montag an.

    Wenn wir mit Testen fertig sind, können Sie Ihr FTP-Passwort ja sofort ändern, dann kann nicht viel passieren.

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

  • Hallo Gerhard,

    so wie es aussieht hat Patricia hier wohl die gleichen Probleme, beim gleichen Hoster. Du wirst also wohl nur eine spezielle eMail-Adresse im Kontaktformular für den Mailempfang verwenden können. Welche diese ist ... müsstest du wissen bzw. natürlich der Support deines Hosters. Hat er sich überhaupt rückgemeldet?

    Mit freundlichem Gruß, Jan

  • Hallo SSeiz, hallo Jan,

    werde die Daten noch heute per E-mail versenden - vielen Dank für das Angebot von entsprechenden Tests.
    Ja, es gab dann doch noch eine telefonische Rückmeldung des Providers. Demnach wäre im Script SendEmail.php der Email Adresscheck (offenbar nur für Easyname) "falsch" programmiert - das hat hier zur Folge, das alles was irgendwie nach Emailadresse aussieht überprüft wird und folglich alle Anfragen mit unbekannten Emailadressen (egal wo sie im Formular stehen) verworfen werden.
    Das Problem von Patricia sieht in der Tat ganz ähnlich aus - die Aussagen des Providers sind aber unterschiedlich.
    Da ich Zugang zu der Datei SendEmail.php habe und sie auch verändern kann, wäre ich für jeden problemlösenden Tipp dankbar, werde aber jedenfalls die von Herrn Seiz angebotenen Tests abwarten.

    Mit freundlichen Grüßen,
    Gerhard

  • Hallo,

    da müsste Ihr Provider bitte etwas genauer spezifizieren, was da "falsch" programmiert sein soll. Was sagt denn Ihr Provider, müssen Sie bei "sendmail_from" eine Adresse eintragen? Haben Sie mal versucht dort die Adresse einzutragen, die Sie in Zeta Producer in den Formularoptionen als Empfänger-Adresse für das Formular definiert haben?

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

  • Hallo,

    ich habe den Fehler gefunden. Ich dachte, das hätten wir längst korrigiert gehabt, habe mich da aber wohl getäuscht.

    Unser Formular-Skript setzt als Standard für die FROM-Adresse immer die in den Zeta Producer Formular-Optionen definierte "Empfänger-E-Mail" ein. Wenn im Formular ein Feld definiert ist, welches den Namen "email" oder "e-mail" trägt, wird diese Adresse als FROM-Adresse gesetzt und da diese Adresse nicht in der "Erlaubnis"-Liste Ihres Providers eingetragen sein kann, scheitert der Versand.

    Dieses Vorgehen ist falsch, und es sollte generell nur die in den Zeta Producer Formular-Optionen definierte "Empfänger-E-Mail" als "FROM"-Adresse gesetzt werden. Falls im Formular ein Feld e-mail oder email mit gültiger Adresse gefunden wird, sollte diese Adresse lediglich als Reply-TO-Adresse in der Mail aufgeführt werden (was zur Folge hat, dass man bei Klick auf Antworten auch wirklich an den Absender, statt an sich selbst antwortet).

    Ich habe das zunächst im SendEmail.php direkt auf Ihrem Server korrigiert und konnte so erfolgreich ein Formular versenden (mit @ in der Absender Email). Wir werden das nun auch generell in unserem Formular-Widget korrigieren und dies als Online-Update zur Verfügung stellen.

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

  • Hallo Herr Seiz,

    herzlichen Dank, wir sind glücklich, dass unsere Formulare nun wieder uneingeschränkt funktionieren.
    Wir finden diese Art des Supports wirklich toll, vor allem, dass auch "Problemchen" mit Nachdruck bis hin zur Lösung verfolgt werden - Zeta Software kann man wirklich weiterempfehlen.

    Frohe Festtage,
    Gerhard

  • Hallo,

    das hier erwähnte Update wurde als Online-Update ausgeliefert. Wenn Sie also eine aktuelle Version von Zeta-Producer (12.5.X) betreiben, sollten Sie das Update automatisch empfangen haben und mit der nächsten Veröffentlichung dann auch das aktualisierte Formular-Skript automatisch auf Ihrem Server installiert haben.

    Ich vermute daher, dass Sie ein anderes Problem haben. Vielleicht können Sie uns genauere Infos zukommen lassen? Unser Support ist noch bis 12:00 besetzt und danach dann wieder ab 7.1.2016.

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

  • Die Support Informationen:
    Titel: Zeta Producer 12.5
    Version: 12.5.7.0
    Versionsname: Business
    Datum: 27.10.2015 14:22
    Lizenz:
    Sprache: de
    Kultur: de-DE
    UI-Kultur: de-DE
    Web-Projekt: D:\Documents\Zeta Producer 12.5\Projects\Freundeskreis Asyl Bad Friedrichshall#
    Layout: Producer Responsive (angepasst)
    Layout vorhanden: True
    Variante: 01-light-angepasst
    Variante vorhanden: True
    Gesamtanzahl Seiten: 30
    Anzahl inaktiver Seiten: 1
    Anzahl aktiver Seiten: 29
    Anzahl Bilder: 34
    Anzahl Dateien: 6
    Zuletzt geändert: 12/29/2015 16:25:46
    Zuletzt veröffentlicht: 12/29/2015 16:30:38

    Gehostet ist die Seite bei der Telekom.

    https://community.zeta-producer.com/www.bfh-freundeskreis-Asyl.de

    Das Problem besteht seit dem 20.12.2015

    IT-SSB

  • Hallo,

    auf welcher Seite befindet sich Ihr Kontaktformular (ich konnte keines finden) und wie äussert sich der Fehler?

    Was bringt die Prüfung der PHP-Voraussetzungen?

    • Öffnen Sie Ihr Projekt in Zeta Producer
    • Wechseln Sie zum Menü "Extras"
    • Klicken Sie auf den Button "Optionen"
    • Klicken Sie im Fenster links auf "Aktionen"
    • Klicken Sie in der Liste der Aktionen auf "PHP prüfen" (in ZP 11) bzw. "Website-Features prüfen" (in ZP 12) damit die Zeile markiert wird
    • Klicken Sie unter der Liste auf den Button "Ausführen"

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

  • Okay, herzlichen Dank. Manche Provider erfordern es, dass die E-Mail Adresse, die in den Formularoptionen als "Empfänger-E-Mail" definiert ist, in einer Liste "erlaubter" Adressen eingetragen wird. Kontaktieren Sie bitte mal die Telekom und erkundigen Sie sich, ob das bei denen auch der Fall ist.

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

  • Laut Aussage der Telekom müssen die Adressen nicht eingetragen werden, da es sich um die Domain-Adressen handelt.

    Im Hintergrund läuft Linux

    IT-SSB

    Einmal editiert, zuletzt von IT-SSB (30. Dezember 2015 um 11:12)

  • Hallo,

    dann benötigen wir für weitere Tests Ihre FTP-Zugangsdaten, also Servername, Benutzername und Kennwort. Am besten per E-Mail an support[ät]zeta-producer.com ([ät] durch @ ersetzen)

    Allerdings machen wir ab 12:00 Uhr bis einschl. 6.1. Urlaub. Wenn Sie schnell sind, kann ich es mir evtl. noch ansehen, ansonsten ist unser Support ab dem 7.1. wieder besetzt.

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

  • Hi,

    Und ich habe auch die gleiche Fehlermeldung, aber im Gegensatz zum Trace hier, habe ich mir die neueste Version eben heruntergeladen und beim senden einer Nachricht bekomme den Fehler.

    Würde gern diesen dieses Jahr gelöst bekommen, dami meine Seite endlich online gehen kann.

    Ich habe einen standard template genommen. Dirt ust eun Bereich namens kontakt. Dieser läuft auf Fehker beim Senden einer Nachricht.


    Formular "Could not instantiate mail function"


    Jede Hilfe sehr geschätz!!!

  • Hallo @sabelmm,

    mache bitte bei einer neuen Frage ein neues Thema auf. Der Thread hier ging um eine andere Version, der letzte Beitrag ist fast ein Jahr alt und alle Hintergrundinformationen stehen auf der vorherigen Seite. Damit wird es unnötig schwer, Dir zu helfen. Ein neues Thema kannst Du über den Menüpunkt "*neues Thema" eröffnen. Lies bitte vorher die Hinweise von @sseiz zum Thema "wie man eine gute Support-Anfrage verfasst" durch.

  • Hallo @sabelmm,

    bitte führen Sie folgenden Test aus und lassen Sie uns das Ergebnis wissen. Ggf. auch die URL der Seite, damit wir ein paar Tests machen können:

    • 1. Öffnen Sie Ihr Projekt in Zeta Producer
    • 2. Wechseln Sie zum Menü "Extras"
    • 3. Klicken Sie auf den Button "Optionen"
    • 4. Klicken Sie im Fenster links auf "Aktionen"
    • 5. Klicken Sie in der Liste der Aktionen auf "PHP prüfen" (in ZP 11) bzw. "Website-Features prüfen" (in ZP 12/13) damit die Zeile markiert wird
    • 6. Klicken Sie unter der Liste auf den Button "Ausführen"

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

  • Hallo Mitleser,

    die Lösung im Falle von @sabelmm lag in einer fehlenden Konfiguration auf Seiten des Webserver. Bei Host Europe muss man eine Standar-E-Mail-Adresse für skripte einrichten. Nachdem das gemacht wurde, war der Fehler behoben. Das ist von Host Europe auf folgender Seite beschrieben: https://www.hosteurope.de/faq/webhosting…and-per-skript/

    Das kann bei anderen Providern durchaus ähnlich gehandhabt werden. In solchen Fällen also bitte beim Provider nachfragen, ob für die Nutzung des der PHP mail() Funktion irgendwo eine E-Mail-Adresse konfiguriert werden muss.

    Freundliche Grüße
    Stefan S. (Zeta Producer-Support)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!