Fehlermeldung safe mode :-(((

  • Hallo,


    ich habe das E-Card Script auf meiner Seite nochmal geändert (ein einfacheres benutzt) und alles funktioniert super. NUR:
    wenn ich eine Karte abschicken will, kommt folgende Fehlermeldung:


    Warning: mail(): SAFE MODE Restriction in effect. The fifth parameter is disabled in SAFE MODE. in /home/www/web190/html/ecard/htmlMimeMail.php on line 669


    in Zeile 669 steht:
    $result = mail($to, $subject, $this->output, implode(CRLF, $headers), '-f' . $this->return_path);


    Kann ich hier selber was ändern oder muss ich meinen Provider (greatnet) um Hilfe bitten?



    Vielen, vielen Dank,


    Leeze

  • Wie die Fehlermeldung bereits sagt, ist der fünfte Parameter von mail() im Safe-Mode nicht erlaubt. Kommentier mal aus und schau ob dir das Ergbiss zusagt :) ...ich bin mir nicht 100pro sicher aber evtl. werden die Mails durch einen fehlenden Return-Path (oder durch einen Standart-Return-Path) bei manchen Servern garnicht akzeptiert. Am besten nochmal die Header checken ob wenigstens dort ein Return-Path drin steht.


    Gruss
    Jan

  • Also das Problem hatte ich auch mal.


    Bei deinem Hoster läuft PHP in dem "Safe Mode", d.h. nur sicherere Befehle können ausgeführt werden. Du musst dein Hoster kontaktieren und ihn darum bitten den SafeMode zu deaktivieren. Warschienlich verwendest du ein kostenlosen Hoster und dann musst du zu nem kostenpflichtigen Paket wechseln, so wars bei mir zumindest (Piscali).


    Mfg Dene

  • Hallo,


    danke erstmal für die Antworten.
    Ich habe mit dem Mann von greatnet.de (ist nicht kostenlos) gesprochen und der hat mir gesagt, dass safe mode nicht abgestellt werden kann und ich soll doch bitte in Foren schauen, ob ich das nicht irgendwie umgehen kann :-(.


    Es scheint ja wirklich nur an dieser doofen htmlMimemail.php zu liegen...
    Ich habe meinen modifizierten Quellcode nochmal mit dem des Originalscriptes abgeglichen (im Falle, dass ich etwas gelöscht habe, was wichtig war) und bin aber nicht weitergekommen.


    Ich weiß leider nicht so richtig, was "auskommentieren" bedeutet (sorry, bin echt ein Anfänger) - wie kann ich das Problem auf einfache Art lösen, ohne den Provider zu wechseln?

  • Auskommentieren heisst:


    "Man muss die Welt nicht verstehen, man muss sich nur darin zurechtfinden."
    Einstein

  • Hallo,


    also das Problem scheint sich erschöpft zu haben :-(.


    Mein Provider hat ja schon gesagt, dass er safe mode nicht für mich abstellt und nun habe ich auch noch von den Leuten, die das Script geschrieben haben, folgende Antwort auf meine Hilfeanfrage bekommen:
    "Hallo,


    leider gibt es für dieses Probelm keine Lösung.

    Beim Safe Mode werden Zugriffe auf Programme oder Dateien nicht mehr
    zugelassen, wenn der Eigentümer des laufenden Skriptes nicht dem Eigentümer
    des Programmes oder Datei entspricht. Da im Skript der Sendmail verwendet
    wird, ist dies Grundsätzlich der Fall ist. Daher kann ich an dieser Stelle
    nichts mehr machen.

    Sorry für die Antwort.


    Allerdings macht es sich der Provider mit der Aussage recht leicht. Ich
    stelle dann immer die Frage, warum andere Provider diese Option ausschalten
    und trotzdem keine Sicherheitsprobleme haben. "


    Son Mist!


    Gilt es denn generell für solche Scripte, dass man keine Mails ohne aktivierten safe mode verschicken kann?

  • Tausche mal die Zeile


    $result = mail($to, $subject, $this->output, implode(CRLF, $headers), '-f' . $this->return_path);


    durch


    // $result = mail($to, $subject, $this->output, implode(CRLF, $headers), '-f' . $this->return_path);
    $result = mail($to, $subject, $this->output, implode(CRLF, $headers));


    Der Parameter -f weist das Mailprogramm, meist Sendmail, dazu an, einen bestimmten Absender anzugeben. Im schlimmsten Fall kommen die Mails jetzt von einem Mailer Deamon, oder einem Webserver User, oder so :)

    class GetProfileCustomerEntityReceiverInformationReceiverAndProgrammingInforma...{
    public function __construct(){ if(!$this) die(' '); } }
    http://www.thedailywtf.com/

  • Hallo und Danke an alle!


    Ich habe den Kartenversand zum Laufen gekriegt, indem ich den Parameter '-f' . $this->return_path) in der betreffenden Zeile gelöscht habe.


    Einen schönen Tag noch,


    Leeze

  • Beachte aber trotzdem, dass die Mails nun als Return-Path soetwas wie nobody@providerserver.de haben. Div. Mailserver akzeptieren solche E-Mails nicht... also kann es durchaus passieren, dass die Mails im "Nichts" verschwinden. Eine Alternative wäre die htmlMimeMail-Klasse in Verbindung mit SMTP zu verwenden (ist eigentlich standartmässig dabei). Dann hast du das Problem mit Sicherheit nicht mehr, da die Mails von deinem eigenen SMTP-Account versendet werden.
    Wo man da nun in deinem Programm anfassen weiss ich nicht. Frag doch nochmal den Support, ob man das nicht irgendwo recht einfach umstellen kann.


    Gruss
    Jan