Avatar billede lone_a_p Praktikant
03. november 2006 - 12:00 Der er 10 kommentarer og
1 løsning

udsending af mails i forum

Jeg har et problem, når folk lægger et nyt indlæg i mit forum - det går ufattelig langsomt, så folk trykker på knappen flere gange og poster dermed flere (af de samme) indlæg.

Dette skyldes, at der bliver sendt godt 100 mails ud med det script, der også gemmer det postede indlæg.

Hvorledes kan dette gøres mere optimalt?

Man kunne jo også gøre som her i eksperten - at det kun er de der er med i tråden, der modtager mails. Det kan jeg lige overveje, hvis der ikke kommer en anden løsning.

I mit tilfælde har jeg 6 forskellige forums/fora, hvor man bare melder sig til, om man vil modtage mail eller ej. Og i et af dem er der altså 112 tilmeldte. Det tager en evighed (med php-funktionen mail() ), og jeg vil meget gerne ændre dette.

Jeg har også tænkt på, om man på en eller anden måde kan gå ind og kalde et andet script, som står for at sende mails ud. Så vil det script, som gemmer indlægget jo blive noget hurtigere, når det bare skal putte i databasen og vise siden igen. (og ikke sende de mange mails). Problemet er blot, at jeg ikke aner, om det kan lade sig gøre - og i givet fald hvordan. Men idéen er vel god nok? ;)

Der skal i al fald gøres et eller anget.

Nogen forslag?
Avatar billede Slettet bruger
03. november 2006 - 13:00 #1
Umiddelbart tænker jeg på mail-lister.

Ved ikke hvad man kan gøre hvis din hjemmeside er hostet, men løsningen kunne være at sende til en mail-liste, som så vil sørge for distribueringen af mails til alle tilmeldte.

Så vil dit script, uanset hvad, kun skulle sende til en mail-adresse, og derved vil scriptet gå hurtigere.
Avatar billede jakobdo Ekspert
03. november 2006 - 13:24 #2
Eller du kan deaktivere submit knappen efter den er trykket først gang med javascript.
Avatar billede lone_a_p Praktikant
03. november 2006 - 14:28 #3
kfisker> dette må du meget gerne uddybe, for jeg kender ikke noget til mail-lister. Jeg har desværre ikke råd til at betale for det.

Jeg har også tænkt på, at sende ud til alle i én mail:
mail1@mail.dk; mail2@mail.dk; mail3@mail.dk; mail4@mail.dk;

Problemet er blot at de ikke er anonyme så - det skal de være. Er der en måde hvorpå, man ikke kan se de andres emailadresser, hvis man sender én mail?

jakobdo> god løsning, men kortsigtet - på et tidspunkt er der 200 og så vil det tage endnu længere tid, og det er ikke til at vente på.
Avatar billede jakobdo Ekspert
03. november 2006 - 16:37 #4
Mailingliste, så skal du jo oprette sådan en liste et sted.
Der får du jo nok svært ved at lave en liste som lige har dem, som du via dit udtræk ønsker at sende til.
Men i stedet for at sende alle i TO, kunne du sende til alle, men smide deres email i BCC.
Avatar billede Slettet bruger
04. november 2006 - 10:36 #5
En mailliste fungerer på den måde at når du sender en mail til mailliste1@xxxxx.dk, så videresender maillisten denne mail til alle mailadresser du har oprettet på listen.

Ved ikke om du kan få en mailliste et eller andet sted, der er gratis, og evt. kan vedligeholdes af php, så du ikke manuel skal vedligeholde den.

Alternativet kunne være at lave et cron-job hos en af de gratis-udbydere der tilbyder dette. Dette cron-job kunne så kalde en php-fil, der checker om der skal sende mails ud og så håndterer dette. Den kunne så kører med et passende interval 10-15 minutter f.eks.
Avatar billede lone_a_p Praktikant
04. november 2006 - 11:00 #6
Jeg har jo sitet hostet, så måske kan man have en php-fil, der kører med et interval hos dem? Er det altid muligt?
Avatar billede lone_a_p Praktikant
04. november 2006 - 12:45 #7
jakobdo> hvordan sender jeg mails i BCC via mail()?

jeg kan ikke få det til at virke - den vil kun sende til TO og CC

jeg skriver:
$headers .= 'Return-Path: <1@x.dk>'.$eol;    // these two to set reply address
$headers .= "CC: 2@x.dk" . "\r\n";
$headers .= 'BCC: 3@x.dk' . "\r\n";

har prøvet på alle mulige måder og den sender aldrig til BCC
Avatar billede jakobdo Ekspert
04. november 2006 - 20:20 #8
Du kan kigge her:
http://se.php.net/manual/en/function.mail.php -> Example 4. Sending HTML email
Avatar billede lone_a_p Praktikant
17. juli 2007 - 23:17 #9
jakobdo> det er vist tid til at lukke, så vil du sende et svar? :)
Avatar billede jakobdo Ekspert
18. juli 2007 - 07:01 #10
Svar!
Avatar billede jakobdo Ekspert
19. juli 2007 - 19:51 #11
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester