Php mail és debian szerver kihasználtság

Fórumok

Sziasztok!

Php mail függvénnyel kiküldött havi kb.: 300.000 db levél 15-20 Kilobájt mérettel mekkora terhelést jelent egy Debian etch szervernek?
Mennyi levelet bírhat el max?

Szerver paraméterek:
Intel alaplap
Intel 3GHZ proci
2 GB DDR2 800
HDD: Sata2 WD RE, Raid-1
Internet: 100 Mbit/s (BIX épülete)

Akinek van tapasztalata ilyesmivel kérem ossza meg velem.
Előre is köszönöm a segítséget.

Hozzászólások

a kerdes az szerintem, hogy ezt mennyi ido alatt/milyen szorassal akarod kikuldeni?

Ezt tapasztalatból tudod ?
Mekkora levélmennyiséggel van tapasztalatod ?

És tudok-e valami ellenőrzést betenni, hogy x darab levelet tudjon kiküldeni csak a felhasználó ?
Pl.: adott egy szerver virtuális doménekkel.
azt kell elérni, hogy akinek a gépen van virtuális doménje az ne tudjon php-ból levelet küldeni, csak akkor, ha egy adott php-szkriptet meghív a küldés előtt.
Más persze egyáltalán sehogy.
A php persze eldönti, hogy lehet, vagy nem lehet.

nem sajat tapasztalat, prog.hu-n ismerosok dobaloztak ekkora szamokkal.
http://www.prog.hu/tudastar/37381/Nagyon+sok+e-mail+elkuldese+hirlevelb…

php.ini -ben sendmail_path valtozo mondja meg, hogy a php mail fuggvenye min keresztul kuldje a levelet.
ezt a beallitast lecserelheted a sajat scriptedre, ami ellenorzi, hogy adott virtualhostnak van-e joga levelet kuldeni, ha van, akkor meghivja sendmailt, ha nincs akkor nem.

Tyrael

azt hiszem extranal pl. ugy oldottak meg, hogy mail fuggvenyednek at kell adni egy specialis header fieldet, amiben szerepel egy egyedi azonosito.
meghivodik a scripted, leelenorzi, hogy az adott parameterben szerepel-e a specialis header, ha nem, akkor nem megy ki level.
ha szerepel, akkor validalod, ha van ilyen kulcs, es kuldhet levelet, akkor kikuldod a mailt(persze a special headers parameterbol kiveszed a tiedet).

Tyrael

napi 10K level nem tetel, nalam hirlevelkuldesnel olyan 75-80k megy el ugy 3-4 ora alatt. (8-10Kb meret/darab) ebbol 3-4k pattan vissza (megszunt postafiokok,betelt quota, etc), de most vegre ezeket elkezdtek kiszedni az adatbazisbol, szoval legkozelebb mar assem okoz lelki valsagot.

PHP-ban van erre "nagyágyú" class a PHPmailer. Ezzel tudsz SMTP-n keresztül is küldeni, webes és plain text leveleket is nagymennyiségben.

Van mégy a PEAR-ben is class, azt is használhatod. A php mail()-el az a pbaj minden egyes levél küldéséhez megnyit majd bezár egy SMTP socket-et, ami nem hatékony.

Javaslom a fenti PHPmailer-t használni, nagymennyiségnél meg a PEAR::Mail-t.

Neked meg rendszergazdának ajánlom hogy tiltsd le a mail()-t, és használja mindenki a fentieket.

Úgy emlékszem a PEAR::Mail -ben lehet párhuzamosan több egyéni címre is levelet küldeni míg a PHPmailer ezt nem támogatja. Persze én erősen az melett érvelek hogy SMTP szerveren keresztül és felhasználó authentikációval küldjem el a leveleket, ha ezt kellene csinálnom, így gyakorlatilag az MTA teljesítménye az ami a kritikus és így teljesen mind1 hogy PHPmailer vagy PEAR. Én PHPmailer párti vagyok a kényelmi szolgáltatásai miatt, és SMTP-vel használom ahol használom. A PEAR::Mail -jét használtam már, de nem tudom megmondani pontosan hogyan is működik, és csak egyes más forrásokra alapozom hogy gyorsabb.

Véleményem a szerint a témanyitó problémája az lehet hogy egy LAMP szerveren megy az MTA SMTP/POP3/IMAP támogatással, és a gép túlterhelhetősége veszélyes lehet a többi szolgáltatásra is. Erre megoldás a szolgáltatások szétválasztása, virtualizáció vagy további szerverek beállítása. SZVSZ nem sok jó sülhet ki abból hogy korlátozza is meg nem is a mail() használatát. Akkor vagy teljesen korlátozni kell és a PHPmailert fogja használni a kezdetektől, vagy nem szabad korlátozni és lesz ami lesz.

Azért arra figyelj, hogy ilyen mennyiségű levélnél lehetséges, hogy nagyon gyorsan valami DNSBL listán találod magad és a többi ügyfeled se tud levelezni. (Pl. az én szerverem mindjárt első körben vágná ki a kukába a levelét.) Sztem ha ilyet szeretne az ügyfeled, akkor vegyél neki dedikált IP címet (természetesen fizettesd ki vele) és az ő domainjének az MX-ét onnan hajtsd.