Avatar billede alex15 Nybegynder
04. juni 2008 - 09:22 Der er 16 kommentarer og
1 løsning

nyhedsmail til flere brugere

Hej eksperter

Et hurtigt spørgsmål.

Jeg vil gerne lave nyheds mail på min side. Hvor man skriver selve mail'en ind i en <form> for derefter og sende den videre til alle brugeren på siden.

Skal man bare gøre det på følgende måde?

<?php

$overskrift = htmlspecialchars(addslashes($_POST['overskrift']));
$indhold = htmlspecialchars(addslashes($_POST['indhold']));

$query = mysql_query("SELECT `email`, `id`, `okmail` FROM users WHERE `okmail` = '1'") or die (mysql_error());
while($row = mysql_fetch_assoc($query)){

$mail = "".stripslashes($row['email'])."";

$modtager = "$mail";
$emne = "$overskrift";
$besked =

"
$indhold
";

$header  = "MIME-Version: 1.0" . "\r\n";
$header .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$header .= "from:nyhedsmail@afsender.dk";

mail($modtager, $emne, $besked, $header);

}

?>

Her vil den jo automatisk sende en mail til alle de personer som har sagt ok til at få tilsendt nyhedsmail ((okmail = 1) = ok).

---

Men findes der er anden / hurtiger og mere korrekt måde at gøre dette på?

mvh.

Alex
Avatar billede jakobdo Ekspert
04. juni 2008 - 10:05 #1
Der findes flere måder at gøre det på.
F.eks. kan du smide alle modtagere i en og samme email (BCC) og kun kalde mail() en gang.

Du kan også bruge phpmailer og forbinde til en smtp server, det kan være hurtigere, når der er tale om mange emails.
Avatar billede alex15 Nybegynder
04. juni 2008 - 10:10 #2
Jeg tror at der typisk vil være tale om ca. 50-100 mails.

Så hvad ville du vælge med det i baghoved?
Avatar billede jakobdo Ekspert
04. juni 2008 - 10:19 #3
Jeg ville bruge phpmailer og så smide dem afsted i en løkke.
En for en.
Avatar billede alex15 Nybegynder
04. juni 2008 - 10:22 #4
Okay. Hvordan forstås med en phpmailer?

Er det den som jeg har lavet oven over?
Avatar billede jakobdo Ekspert
04. juni 2008 - 10:36 #5
http://phpmailer.codeworxtech.com/

Og jeg har set denne også bliver benyttet mere og mere:
http://www.swiftmailer.org/
Avatar billede alex15 Nybegynder
04. juni 2008 - 10:49 #6
Var lige inde og kigge / downloade den første af dem. Og det virker ved første øjekast ret indviklet. Samt ser det ud som om at den kan virkelig mange forskellige ting. som at sende billeder osv.

Det eneste som jeg behøver og sende er tekst. Ren tekst. Så er det overhoved nødvendig med en phpmailer? når det kun er ren tekst som jeg skal sende?
Avatar billede jakobdo Ekspert
04. juni 2008 - 12:52 #7
phpmailer understøtter forbindelse til ekstern smtp-server.

Men hvis det bliver for omstændigt, hvorfor så ikke bare bruge mail() ?
Avatar billede alex15 Nybegynder
04. juni 2008 - 21:01 #8
Tror jeg også at jeg bare gør. Men det er ikke noget som får det til at fucke helt op? Altså hvis man skal kører sådan en while igennem 100 gange? Det betyder måske ikke det store?
Avatar billede jakobdo Ekspert
04. juni 2008 - 21:16 #9
Det betyder da noget, men hvis ikke scriptet timer ud, så er det lige meget.
Først hvis dit script timer ud, så er det tid til at optimere og kigge efter andre løsninger.
Avatar billede alex15 Nybegynder
05. juni 2008 - 08:54 #10
Okay ja. Og med det mener du at hvis ikke der står alt muligt andet ud over ovenstående, burde det være fint nok. Selve scriptet er nemlig ikke meget større end ovenstående faktisk. Den smider godt nok også lige $overskrift og $indhold ind i nyheds table i min database.
Avatar billede jakobdo Ekspert
05. juni 2008 - 09:18 #11
Måske mit spørgsmål kan misforståes, men hvad er problemet så ? :o)
Avatar billede alex15 Nybegynder
05. juni 2008 - 09:27 #12
Som sådan ved jeg jo ikke om der overhoved er noget problem. Jeg ville bare forhøre mig hvad folk normalt gjorde i en sådan situation. Og om min måde at gøre på var okay? eller om den var total udelukket. (Måske det heller ikke fremgår af ovenstående ;o) ).

Mere hvis det var at der var en måde hvor du sagde at "denne her måde at langt hurtigere, at bruge" f.eks.

Men hvis min måde er okay, så bruger jeg bare den, til at starte med.

Kunne jo godt være at der var en form for begrænsning for hvor mange mails man kunne sende afsted af gangen (eller hva ved jeg) :o)
Avatar billede jakobdo Ekspert
05. juni 2008 - 10:28 #13
Afgrænsningen skal nok nærmere findes i tiden det tager at sende X antal emails.

Dit webhotel har garanteret en time limit på 30 sekunder eller lign.
Det vil sige du kan sende lige så mange emails du vil, bare det ikke tager mere end 30 sekunder.
Dog kan man oftest lave noget hack med flush() og output til skærmen undervejs, så omgår man time limit her jeg fundet frem til i visse tilfælde.
Avatar billede alex15 Nybegynder
30. juni 2008 - 13:32 #14
Endte med bare at kører automaionen igennem et php script. Så lukker bare spørgsmålet nu. Tak for hjælpen jakobdo (Igen).

Laver du ikke også lige et svar?
Avatar billede jakobdo Ekspert
30. juni 2008 - 13:49 #15
Svar!
Avatar billede jakobdo Ekspert
30. juni 2008 - 14:30 #16
Takker for point.
Avatar billede alex15 Nybegynder
30. juni 2008 - 14:47 #17
Så lidt. Har du modtaget de der penge for det andet spørgsmål?
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