ksjon Skrevet 7. mai 2007 Del Skrevet 7. mai 2007 Man kan si det mildt at scriptet under er SVÆRT lite effektivt. Jeg trenger noen forslag for å forkorte prosesseringstiden (får nå ofte timeout pga for lang lastetid). Hensikten med scriptet er at man skal kunne sende mail til alle e-post adresser i en database. $tell = 0; $mailliste = mysql_query("SELECT * FROM users WHERE active ='y' ORDER BY login"); while ($liste = mysql_fetch_array($mailliste)) { $this->multimail($liste["email"], $overskrift, $this->br2nl($tekst)); $tell++; } $this->message = '<b>Mailen er sendt til '.$tell.' brukere (alle)!</b>'; multimail er et enkelt mail script: function multimail($mail_address, $overskrift, $melding) { $header = "From: \"".$this->webmaster_name."\" <".$this->webmaster_mail.">\r\n"; $header .= "MIME-Version: 1.0\r\n"; $header .= "Mailer: ksjon mail script version 1.00\r\n"; $header .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n"; $header .= "Content-Transfer-Encoding: 7bit\r\n"; $subject = $overskrift; $body = $melding; if (mail($mail_address, $subject, $body, $header)) { return true; } else { return false; } } takk for alle svar! Lenke til kommentar
Runar0 Skrevet 7. mai 2007 Del Skrevet 7. mai 2007 (endret) Vil tippe på at grunnen til timeout'ene er at mail() funksjonen bruker ein god del. Det er ikkje så mykje du kan få gjort med dette. Endret 7. mai 2007 av Shadows0 Lenke til kommentar
Ueland Skrevet 7. mai 2007 Del Skrevet 7. mai 2007 (endret) Vil tippe på at grunnen til timeout'ene er at mail() funksjonen bruker ein god del. Det er ikkje så mykje du kan få gjort med dette. 8559401[/snapback] Hvorfor ikke? E-post-protokollene har en feature som heter BCC (Blind Carbon Copy) innebygget, dette er det samme som CC (Copy to), men forskjellen er at mottakeren ikke ser de andre mottakerene. Og når man skal sende ut en e-post til mange personer så er det en smart løsning. Siden man da bare sender ut en e-post, så er det opp til mailserveren og behandle mailen skikkelig. Endret 7. mai 2007 av Ueland Lenke til kommentar
Runar0 Skrevet 7. mai 2007 Del Skrevet 7. mai 2007 Vil tippe på at grunnen til timeout'ene er at mail() funksjonen bruker ein god del. Det er ikkje så mykje du kan få gjort med dette. 8559401[/snapback] Hvorfor ikke? E-post-protokollene har en feature som heter BCC (Blind Carbon Copy) innebygget, dette er det samme som CC (Copy to), men forskjellen er at mottakeren ikke ser de andre mottakerene. Og når man skal sende ut en e-post til mange personer så er det en smart løsning. Siden man da bare sender ut en e-post, så er det opp til mailserveren og behandle mailen skikkelig. 8559431[/snapback] Beklager du har så rett så rett Lenke til kommentar
ksjon Skrevet 7. mai 2007 Forfatter Del Skrevet 7. mai 2007 (endret) I begynnelsen brukte jeg faktisk BCC Problemet med å bruke BCC er at det kan kun brukes et max gitt antal tegn.. 255 tegn/adresser(?). Og da er jeg egentlig like langt... Endret 7. mai 2007 av ksjon Lenke til kommentar
robgar Skrevet 8. mai 2007 Del Skrevet 8. mai 2007 del opp listen av mail brukere per 255 da. gruppe1 = (LIMIT, 0, 254) osv så sender du en mail per gruppe... Lenke til kommentar
???????? Skrevet 8. mai 2007 Del Skrevet 8. mai 2007 En vanlig begrensning i BCC er 100 adresser, dette er/var standard i f.eks. Exim. Som de fleste andre instillinger er det mulig å endre, men kanskje litt verre dersom du bare er på et webhotell. Sjekk med webhotellet ditt. Men egentlig så er det ikke webhotellet ditt sin jobb å sende ut masseutsendelse av mail - dette burde skje via en mailserver, og ikke mail() funksjonen. Da slipper du problemet med en ukjent mottaker i TO feltet, som det blir ved utsendelse til BCC. Selv om BCC er meget kjekt, og jeg bruker det selv, så må jeg innrømme at det er rart å motta mail som er sendt til en annen adresse enn min. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå