kostenloser Webspace werbefrei: lima-city


E-Mail senden verlangsamt die Registrierung, etc.

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    master4860

    Kostenloser Webspace von master4860

    master4860 hat kostenlosen Webspace.

    Hallo Com.,
    ich habe ein Registrierungsformular, Passwort vergessen Funktion, etc. . Dinge bei denen ich eine E-Mail versenden muss. Um nicht extra die Seite neuzuladen, lade ich meinen Teil mit dem E-Mail senden sowie dem Zeug mit in die Datenbank eintragen über Ajax rein.

    Anfangs dachte ich es liegt an Ajax, was ich mir wirklich eingeredet hatte^^, also habe ich es ohne Ajax gebaut und es dauerte exakt gleich lange. Nun ist wieder alles mit Ajax und ich habe getestet, ob es auch so lange dauert wenn ich keine Mail absende und siehe da ohne das mail absenden geht es instant/sofort.

    Mit dem E-Mail absenden sind es 2-5 Sekunden. Weiß jemand eine Möglichkeit, um die Wartezeit zu verringern?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Da das kein Normalzustand ist und wir rein mit dieser Beschreibung nichts anfangen können, wissen wir auch keine Möglichkeit dies zu verringern. Ich sollte mich mal beschweren weil die Glaskugel schon so lange in der Reparatur ist.

    Spass bei Seite, poste doch deinen Code, am besten auch noch ein Livebeispiel.
  4. @topic:
    Sollte das doch ein Dauerzustand sein, dann ist vielleicht das hier ein interessantes Thema für dich:
    http://www.php.de/php-einsteiger/85127-erledigt-browserausgabe-abschliessyen-vor-dem-ende-des-php-scriptes.html

    Ich habe das eine Skript gerade auf Lima-City getestet. Und es funktioniert tatsächlich.
    Direkt zum Skript

    Nachteil ist natürlich die umgeleitete Ausgabe in eine Variable.
  5. Autor dieses Themas

    master4860

    Kostenloser Webspace von master4860

    master4860 hat kostenlosen Webspace.

    Das muss ein normal Zustand sein, ich habe doch beschrieben was ich alles getestet habe.

    - Ich habe es per Ajax reingeladen
    - Ich habe es per Formular absenden, über POST, versucht
    - Ich habe es mit dem klassischen php mail versucht
    - Ich habe es mit SMTP versucht

    Alles hat dasselbe Problem, wenn ich keine Mail versende und nur die Dinge in die Datenbank eintrage kommt sofort die Meldung erfolgreich.

    Ich habe sogar getestet ob es an meiner verwendeten PHP-Mail-Klasse liegt und habe es eben über das normale PHP mail() versucht!

    Ich verwende diese PHP-Mail-Klasse

    Über Google(SMTP, Gmail) versenden ist zum testen traumhaft, die E-Mails kommen zeitgleich mit der Erfolgreich Meldung an.
  6. master4860 schrieb:
    Das muss ein normal Zustand sein.

    Du sagst es liegt an Mail, dann sollte also auch folgendes Script 2-5 Sekunden laden:
    <?php
    	mail('-', 'test', 'hallo!');
    	echo 'Hallo!';
    ?>
    Tut es aber nicht, die Ladezeit ist für mich Gefühlsmässig genau gleich, wie wenn ich nur Hallo! ausgebe. Also wie soll das denn ein Normalzustand sein? Du hast es getestet und anscheinend hat es einen Zusammenhang mit der mail Funktion, heisst aber nicht, dass das das Problem ist. Zumindest ich weiss nicht, wie ich ausschliesslich mit deiner Beschreibung das Problem beheben soll.
    Meine Vermutung ist, dass es am ganzen Script liegt. Deshalb wärs vielleicht auch gut, wenn du das posten würdest.
    Theoretisch wärs sogar vielleicht mit fuerderer's Antwort möglich, aber keine schöne Lösung. Diese Ladezeit ist nicht normal.

    So kann zumindest ich dir nicht helfen, indem du einfach sagst, dass dein Script mit mail lange lädt und ohne nicht, da muss schon mehr her.
  7. Autor dieses Themas

    master4860

    Kostenloser Webspace von master4860

    master4860 hat kostenlosen Webspace.

    in letzter zeit eigentlich nur noch mit smtp versucht... . Im Chat, bei lima, wurde vermutet dass es an google liegt.
    Wegen Authentifizierung etc. . Könnte es daran liegen?

    Mail habe ich auf Lima getestet, leider ist das echt schon länger her. Was aufjedenfall damit ewig gedauert hat (rund 6min.) war das warten auf die Mail, allerdings liegt das wohl an diesem spamassasin von lima, oder?
  8. Wenn ich es richtig interpretiere, wartet mail() auf die bestätigung des Versands. Wenn du die 5 sekunden überspringen willst und du einen Rückgabewert über true/false nciht verarbeitest, kannst du das senden in einen Thread auslagern und das Script beenden, ohne auf die erledigung des Threads zu warten:

    http://www.phpgangsta.de/richtige-threads-in-php-einfach-erstellen-mit-pthreads
    http://www.php.net/manual/de/function.mail.php

    der Thread sollte sich nach beendigung ohne parent-Prozess selbst beenden, also keinen Zombie hinterlassen. Frage ist nur, ob der THread nciht auch gekillt wird
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!