webForumDet fria alternativet

Tillförlitlighet hos php mailfunktion?

PHPur PHP

8 svar · 501 visningar · startad av lillebror

Medlem sedan apr. 20041 597 inlägg
Frågan#1

Hej,

Jag ska skicka ut ett e-postbrev till mina medlemmar. Jag har gjort iordning ett php-skript som loopar igenom databasen och hämtar respektive användares e-postadress. Nu undrar jag om det kan uppstå problem om man skickar för många e-brev samtidigt?

Någon med erfarenhet som vet? :)

Medlem sedan nov. 20014 054 inlägg
#2

lillebror skrev:

Hej,

Jag ska skicka ut ett e-postbrev till mina medlemmar. Jag har gjort iordning ett php-skript som loopar igenom databasen och hämtar respektive användares e-postadress. Nu undrar jag om det kan uppstå problem om man skickar för många e-brev samtidigt?

Någon med erfarenhet som vet? :)

Beror väl på hur många "många" är?

Medlem sedan apr. 20041 597 inlägg
#3

50 st

Jag har aldrig gjort ett sådant här utskick förut så jag vet inte vilka fallgroparna är. Hittils har jag bara angett min egna e-postadress. Då har det fungerat bra.

Medlem sedan mars 20025 907 inlägg
#4

Det största problemet är väl om man har såpass många mail att skicka, så det tar så långt tid så man får timeout.

Medlem sedan mars 200533 inlägg
#5

Enligt php.net

Note: It is worth noting that the mail() function is not suitable for larger volumes of email in a loop. This function opens and closes an SMTP socket for each email, which is not very efficient.

For the sending of large amounts of email, see the PEAR::Mail, and PEAR::Mail_Queue packages.

Medlem sedan mars 200650 inlägg
#6

Jag har listor som håller ca 100 personer idag som får via mail(), men det är kanske mer intressant att fundera över serverhotellet om det klarar av att skicka ut. Vissa gör inte det. De klarar inte ens ett pga överbelastning.

Medlem sedan apr. 20041 597 inlägg
#7

Tack för era synpunkter. Ska titta närmare på PEAR::Mail, and PEAR::Mail_Queue packages.

Medlem sedan apr. 2002830 inlägg
#8

Då jag har använt mail() för att skicka ut stora mängder mail så har jag skickat kanske 20 stycken i BCC, sedan gjort en sleep på nån sekund och kört igen. Har fått iväg till ca 1000 personer utan problem. Det tar dock lite tid :-)

// Nippe

Medlem sedan maj 200614 inlägg
#9

Det är helt lunkt att ta 50st. mail() kan klara några hundra st. Men det tar tid som sagt. Du kan använda batch, dvs skicka mail i rundor. 50st / runda eller liknande.

141 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
139 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)