Tekst webpagina wordt pas na uitvoer getoond...
Nadat op de verzendknop van een webform wordt geklikt, wordt, vóór het uiteindelijke verzenden, eerst een tekst vermeld. Na het verzenden wordt het resultaat van die verzending onder eerdergenoemde tekst vermeld.
Echter bewuste tekst + resultaat worden pas getoond nádat de verzending heeft plaatsgevonden.
Is hier een oplossing voor?
Nadat een formulier is bevestigd, wordt het gepersonaliseerd naar verschillende e-mailadressen gestuurd. Ik verstuur met phpmailer via smtp. Omdat het verzenden enkele seconden duurt, blijft het webform in beeld.
Ik wil daarom eerst de melding 'Heb even geduld...' tonen. Pas daarna moet de verzending plaatsvinden.
Dat kan heel makkelijk met jQuery's $.ajax()-functie. Je kan dan ook het formulier meteen weghalen.
Ook raad ik aan om per mail-adres op te slaan of diegene al in de ronde is gemaild. Dit om te voorkomen dat je mensen dubbel gaat mailen als de browser wordt beëindigd.
Gewijzigd op 31/12/2014 13:25:06 door - Ariën -
Ik ben niet zo bekend met AJAX, maar zal het eens gaan bestuderen.
Swaenie - op 31/12/2014 13:06:50:
Dank voor je reactie.
Nadat een formulier is bevestigd, wordt het gepersonaliseerd naar verschillende e-mailadressen gestuurd. Ik verstuur met phpmailer via smtp. Omdat het verzenden enkele seconden een duizendste seconde duurt, blijft het webform in beeld.
Ik wil daarom eerst de melding 'Heb even geduld...' tonen. Pas daarna moet de verzending plaatsvinden.
Nadat een formulier is bevestigd, wordt het gepersonaliseerd naar verschillende e-mailadressen gestuurd. Ik verstuur met phpmailer via smtp. Omdat het verzenden
Ik wil daarom eerst de melding 'Heb even geduld...' tonen. Pas daarna moet de verzending plaatsvinden.
Het versturen van mail duurt echt net niets... hooguit 2 á 3 milliseconden. Zo lang kunnen mensen nog wel wachten. Dus geen extra pagina: gewoon versturen en (als dat gelukt is) tonen dat de bestelling klaar is.
Ik raad wel aan om er een na een aantal mails sleep() er tussen te gooien, om te voorkomen dat mailservers het kerkennen als spam.
Als ik echter mail() gebruik, dan ontvangen de geadresseerden als afzender het afzenderadres met als toevoeging dat deze loopt via <naamwebhost>.
Bovendien viel het me op dat ie dan vaak in het spamvak terecht kwam. Vandaar mijn keuze. Die langzame verzending vind ik echter ook niet acceptabel.
Hoe? Gewoon door alle SMTP instellingen er uit te halen.
Gewijzigd op 01/01/2015 22:54:56 door Frank Nietbelangrijk
Ik ben nog steeds niet uitgeleerd ;-) Ga 't allemaal bestuderen en uitproberen.
@Frank Nietbelangrijk: ik meende inderdaad een SMTP-server te moeten gebruiken, maar nu werkt het goed en snel.
Het valt me wel op dat zowel met als zonder SMTP-server CC en BCC niet functioneren. Ik bemerk dat velen dat probleem hebben. Is daar een oplossing voor?
Bij de headers die ik gaf werkt BCC dan ook niet?
Nee, inderdaad...