Hur fungerar det med mail() med dess kapacitet.
Bakgrunden är att jag gjorde en maillista där jag kör en loop för att skicka mail ett och ett till alla medlemmar.
Nu är medlemmsantalet runt 2700 st.
Och när jag skickar så tar det en väldigt lång stund att skicka.
Är mailfunktionen beroende på servern? eller hur funkar det? är det så att ju snabbare servern är och ju snabbare lina servern har, desto snabbare går det?
och ska man kanske se sig om efter en annan lösning. jag misstänker att denna lösning inte är den bästa.
------------------
If I like it, I do it
SPiNMedlem sedan mars 20007 896 inlägg Nej, använd helst inte mail () för sånt här... Det är bättre med "riktiga" program som sköter det. Du kan alltid skriva ett ( Eller använda ett redan skrivet ) program i Java, och koppla ihop med PHP. PHP har ju stöd för Java-klasser, som du förhoppningsvis vet... :)
Eller kanske ett cron-job, som körs direkt i Linux?
------------------
SPiN, bjorne.w@telia.com
SPiN:
Så om jag har förstått det rätt så måste man ha "stöd" för sånt hos webhotellet som min sida ligger på för att kunna köra smidigare sätt? (i detta fall ligger sidan hos levonline).
Är nyfiken på hur det där med Java skulle fungera i så fall. Lite fel forum dock. Men ändå. :)
Och finns det någon djupare förklaring till varför man inte ska köra mail() på detta sättet. (förutom att det i mitt fall här är långsamt)
------------------
If I like it, I do it
SPiNMedlem sedan mars 20007 896 inlägg Jag har inte fakta svart på vitt, men jag skulle tro att det är påfrestande på servern - eftersom att mail () inte är någon "riktig" mailklient som kan hantera köer, m.m. Plus att det självklart går långsamt. :)
Ja, jag skulle gissa på att du måste ha stöd på servern för att kunna köra de flesta och bästa mail-programmen, men många webhotell erbjuder en s.k. mailinglista, där dom sköter hanteringen av e-postutskicken som jag har förstått det.
Java-blajjet kan du kika lite efter på http://www.phpbuilder.com och jag tror att jag har lagt något inlägg här på wF tidigare om hur man får det att funka - så sök! :)
Om du söker efter en app som skickar ut mail så bör du ta en titt i Java-forumet, under OS & Program - ämnet var nyligen uppe där. Så är det bara att integrera PHP'n på samma sätt som dom beskriver på PHPBuilder.com med komponenten.
Lycka till & berätta gärna hur det går! :)
------------------
SPiN, bjorne.w@telia.com
Ja, jag skulle gissa på att du måste ha stöd på servern för att kunna köra de flesta och bästa mail-programmen, men många webhotell erbjuder en s.k. mailinglista, där dom sköter hanteringen av e-postutskicken som jag har förstått det.
ja, problemet är att jag vill kunna skicka ut mail till medlemmarna i medlemsdatabasen. Ibland kanske man vill skicka till bara vissa medlemmar. hmm... Kan man använda webhotellets formmail annars tro? ska kolla in det. (om inte nån har bra koll på det där redan och gärna berättar för mig om det)
Tack för ditt svar iallafall :)
------------------
If I like it, I do it
Du kan ju använda sendmail eller qmail med php istället för den inbyggda mail-skickaren. Men PHP-script körs ju bara i ett visst antal sekunder (som är definierat i php.ini/php.conf), sen timar det ut. Lite jobbigt då för man vet ju inte var den slutade skicka om du inte har tillgång till systemlog-filerna vilket man sällan har på webbhotell av förklarlig anledning.
Om du har tillgång till shellkonto hos ditt webbhotell kan du ju alltid skriva ett perl-script?
------------------
Johannes Schill
http://www.polyester.se
Form · Interaktivitet · Uppmärksamhet
QonosMedlem sedan sep. 2000438 inlägg Hur skulle det gå om man la alla adresserna i ett BCC "fält" och sen skicka?? Skulle det oxå sluka sönder serverns kapacitet??
Tjena duderinos...
Imorrn har jag deadline på ett projekt som handlar precis om detta.
Min uppgift är att göra en newsletterapplikation som ska kunna skicka över 200.000 mail vid varje tillfälle. Den ska skicka HTMLmail och så ville de ha lite personalization och sånt, vilket betyder olika body för varje mail osv... Även en massa olika statistik över vad som egentligen hände...
Well... Jag är inte klar än men det jag har gjort är ett skal i PHP där man egentligen bara styr och ställer med mailet och bygger ihop det som det ska se ut...
Den intressanta biten är mailskickarapplikationen som är skriven i Java, som också blev min första javapryl... :)
I den använder jag en timer som med jämna mellanrum kollar databasen om det finns något mail att skicka.
Hittar den något mail kommer den jobbiga biten.
Jag ville lägga alla mailen i en kö, men jag hade alldeles för lite tid för att försöka förstå mig på den biten.
Jag fick däremot lite tips från Lime: http://program.webforum.nu/wf/Forum28/HTML/000259.html
Jag använder javax.mail och jag tror att det ska funka. Jag har inte provat än eftersom det är svårt att simulera en sån här grej, tror jag. För att hålla koll på alla mail och för att göra applikationen säker mot krasher osv, loggar jag varje mail som skickas i DBn...
Hmm.. Vad var det jag egentligen skulle säga..? Jag tror jag glider mot lite OT här..
Jo... Angånde serverprestationer.. Tidigare har vi skickat dessa mail med ett vbscript som skickar mailen till ett kö-program som heter AspQMail. Det har funkat bra rent prestandamässigt, men var alldeles för jobbigt att underhålla och så var det tydligen fel plattform enligt bossen...
Prestandan på en IBM Netfinity M20 med P3-500 och 256Mb RAM är 10.000mail/timme... Då kör jag AspQMail-processen i realtid, vilket bidrar till 100% CPU under de 20-tal timmar det tar att skicka alla...
Owella... Om du har några frågor om hur jag gjorde Java-delen får vi nog diskutera det i Java-konfen... Haka på tråden ovan...
Hmm.. Undrar om det går att läsa detta.. jag är lite trött.. sorry om jag rörde till saker.. gonatt..
::m
------------------
www.sthlm-mansion.com
www.milano-mansion.com
Jag har ett nyhetsbrev med >12000 prenumeranter och använder mail();
Det fungerar bra, men jag använder denna koden för att se till att scriptet inte stannar efter 30 sekunder, vilket är standard i php.ini
ini_set("max_execution_time","9999");
ignore_user_abort(true);
set_time_limit(9999);