com_mailto Problem? Email wurde nicht versendet!

  • navar
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
20 Feb. 2010 15:14 #24693 von navar
Ich habe mehrere Jommla-Klone bei verschiedenen Providern laufen. Version 1.5.15.

Bei einer funktioniert der Versand über das Formular "Diesen Link an einen Freund senden" bei den anderen, identischen Installationen dagegen nicht. Eigenartigerweise funktioniert aber der E-Mailversand über den Link "Passwort vergessen" einwandfrei, ebenso der Newsletter über AcyMailing (PHP mail()) und auch mit chkform erstellte Formulare! Die PHP Mail-Funktion muss also i.O. sein

Habt ihr eine Idee wo ich anfangen könnte zu suchen? Kann es sein dass es mit der Sessionvariable zusammenhängt (die glaube ich in verstecktem Input mitübertragen wird)?

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
20 Feb. 2010 21:23 #24702 von Tribal6
Oh, eine Tür im Haus


...hallo erstmal, and welcome here!

So, wie du schreibst, müsste es eigentlich nur an der com_mailto liegen..... hmmmm, dann bügel die doch nochmal per FTP drüber, von einer Installation wo sie läuft. Ansonsten wüsste ich auch nix, ausser tmporär ein paar Debugmeldungen und Exceptions einzubauen, um zu sehen, bis wo die läuft. Wobei, ich seh grad, da sind einige Abfragen drinn, um Fehler abzufangen und anzuzeigen, in
../components/com_mailto/controller zeile 47, function sent()

Hast du noch eine andere Joomla, auf demselben Server, wo die com_mailto läuft?

Prost
Roger

Tue das, was du kannst, mit dem was du hast, da wo du bist.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • navar
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
20 Feb. 2010 22:45 #24707 von navar
Ja Guten Abend auch, Roger!

Danke für deine schnelle Reaktion.
Die "funktionierende" Installation tuts nun auch nicht mehr. Das war wohl Zufall. Aber ich habe in die controller.php mal reinsgeschaut: Da gibts diese Abfrage gegen das MAILTO_TIMEOUT, das bei mir auf 20 steht. Wenn mann also nicht 20 Sekunden vom Aufruf des Formulars bis zum submit wartet gibts den JError EMAIL_NOT_SENT. Wenn man sich entsrechend Zeit lässt, klappts. (its not a bug, its a feature!)

Um 2 E-Mail-Adressen einzutragen braucht es oft keine 20 sekunden (bin ich zu schnell für Joomla?)

Schön wäre , wenn der Senden-Button 20 s lang ausgegraut wäre (...wait...), oder so. Vielleicht reichen auch 10 s MAILTO_TIMEOUT?

Weißt Du wo diese Variable gesetzt wird?

Venceremos!

navar

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
20 Feb. 2010 23:12 #24709 von Tribal6
...entweder du setzt den Timeout runter (ev. nicht so das Wahre), oder du schreibst eine JavaScript-Funktion die die CSS-Klasse "button" in dieser Ansicht
../components/com_mailto/views/mailto/tmpl/default.php, zeile 58
die ersten 20 Sek. mit dem Attribut 'visibility="hidden" "versorgt".... ;)

Das ausfüllen einer E-Mail Adresse dauert sicher keine 20 Sekunden, da magst du Recht haben, aber das Ausfüllen des ganzen Formulars ev. schon: zwei E-Mail-Adressen (die eigene und eine zum nochmal nachgucken), inklusive einem kurzen Begleigttext für den Bekannten (ist das noch mit dabei?), den der entsprechende User schreibt, ich glaube da kommt man insgesammt schon auf 20 Sekunden... oder nicht? Ich würde das sein lassen, denn immerhin kommen die anderen geschätzten 5000000 Joomla-Anwender auch damit aus..... Und falls nicht, kannst du ja die erwähnte JavaScript Funktion schreiben und per Template-Override (component.php) "einschleusen"......

Cheers
Roger

Tue das, was du kannst, mit dem was du hast, da wo du bist.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • navar
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
20 Feb. 2010 23:35 #24712 von navar
nene, 20 s sind tolerabel, wenn mans weiß.

habe mal folgendes Skript eingebaut:
Code:
<!-- var Sekunden = 20; var Buttonbeschriftung = "Senden"; document.getElementById('Send').disabled = true; for(i=1; i<=Sekunden; i++) { window.setTimeout("ButtonAktualisieren(" + i + ")", i*1000); } window.setTimeout("ButtonFreigeben()", Sekunden*1000); function ButtonAktualisieren(VergangeneSekunden) { if(VergangeneSekunden==Sekunden) { document.getElementById('Send').innerHTML = Buttonbeschriftung; } else { Restsekunden = Sekunden-VergangeneSekunden; document.getElementById('Send').innerHTML = Buttonbeschriftung + " (warte noch " + Restsekunden + " s) "; } } function ButtonFreigeben() { document.getElementById('Send').disabled = false; } // </script>

funktioniert prächtig, nur hat der button keine id das muss ich noch ändern, wenn ichs per Override einschleusen will, wobei ich das noch gar nicht kann: wo ist denn diese component.php?

Venceremos!

navar

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
21 Feb. 2010 00:59 #24715 von Tribal6
Das müsste die component.php sein, in
../templates/system/

und davon müsstest du eine Kopie davon direkt im root-Verzeichnis deines aktiven Templates speichern.
Und dann anpassen. Und dann müsste das hinhauen mit dem Override. Hoffe ich mal, denn Templates sind
nicht unbedingt meine Stärke. Ansonsten: Google weiss Bescheid ;)

Zum Wohl
Roger

Tue das, was du kannst, mit dem was du hast, da wo du bist.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • navar
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
21 Feb. 2010 09:52 #24718 von navar
is doch nicht die component.php. Man macht eine Kopie des jeweiligen tmpl-Odrners und legt den in den aktiven Template-Ordner in "html", dort sucht Joomla nach den Overrides.

Gefunden bei [url:2983ywhk] joomla.cocoate.com/templates-selbst-erstellen [/url].


Vielen Dank für die hilfreiche Unterhaltung.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
21 Feb. 2010 11:10 #24721 von Tribal6
.....ah ja, stimmt, hast recht, war halt schon spät ;)

Tue das, was du kannst, mit dem was du hast, da wo du bist.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Moderatoren: Tribal6RePaoDragonlordChris Hoefligerpascaleadiheutschi.ch
Powered by Kunena Forum

Joomla! Verband Schweiz - Mitglied werden