ugrás a tartalomhoz

PHP csoportos mailküldés

PredMan · 2009. Ápr. 1. (Sze), 08.36
Sziasztok!

írtam PHP-ban egy hírlevélküldő szkriptet, ami részben működik is. A probléma az, hogy több ezer embernek kell kiküldeni leveleket és a szolgáltató ezek nagyrészét blokkolja. A szkriptem úgy működik, hogy egy JS-es időzítővel 10 percenként betöltök IFRAME-be egy php mailküldőt, aminek GET-el átadom a kezdő értéket. 300-as csoportokban küldöm BCC segítségével a leveleket, tehát pl. ha 3600 címzett van, akkor én 12 db emailt kapok és azokból sokszorosítja a többi címzettnek a leveleket.

Itt a probléma. A kód jól működik ugyan, de 12-ből minimum 6-nál hibát ír ki a kódom a mail() függvény ellenőrzésekor:

if(mail($cimzett, $targy, $szerkezet, $fejlecek)) {
   $_SESSION['jelentes'] .= "- <font color='green'><b>ok! (".$sendnum.")</b></font><br>";
}

else {
   $_SESSION['jelentes'] .= "- <font color='red'><b>Hiba!</b></font><br>";
}
amikor mind a 12 levél kiment, akkor kiiratom a $_SESSION['jelentes'] tartalmát és ez fogad:

1.ok!
2.ok!
3.hiba!
4.ok!
5.hiba!
6.hiba!
7.ok!
8.hiba! stb... minden áldott nap véletlenszerűen, tehát tutira a szolgáltató blokkol.

mit lehetne még tenni ezügyben? gondoltam ez a 10 perc késleltetés a küldések között elegendő lesz, de ezekszerint még ez is kevés? tudtok ajánlani valamit? egyszerüen már tanácstalan vagyok... régebben egyébként amikor még csak 1000 alatti hírlevelet kellett kiküldenem, akkor simán ment a dolog BCC-vel, de több ezres számnál már behal a BCC, ezért alakítottam ilyen csoportos időzítősre.

előre is köszönöm a válaszokat!
 
1

Valszeg nem véletlen

janoszen · 2009. Ápr. 1. (Sze), 08.57
Sztem a szolgáltató nem véletlenül blokkol, ha blokkol. Bár minden második levél blokkolása az kicsit erős. Egyébként meg szerintem, használj PHPMailert vagy SwiftMailert, az legalább félig értelmes hibaüzeneteket ad.

Esetleg érdemes lehet az e-mail címet is kiiratni, hátha hibás mailcímről van szó.
3

preg_match

PredMan · 2009. Ápr. 1. (Sze), 10.21
Esetleg érdemes lehet az e-mail címet is kiiratni, hátha hibás mailcímről van szó.


minden kilistázásnál preg_match()-el ellenőrzöm, hogy megfelelő-e a mailcím, ha igen, beteszem egy tömbbe, ha nem, kitörlöm, tehát ez biztos hogy nem gond.
2

Miért nem percenként 30-at?

s_volenszki · 2009. Ápr. 1. (Sze), 10.18
Nem teljesen értem, egyáltalán ezzel a BCC trükközéssel nem értek egyet.

Én biztos azt tenném a helyedben, hogy inkább percenként küldenék ki 30 levelet 30 címzettnek, ami ugye tíz perc alatt 300 levél ezzel néhány szolgáltatói korlátozáson belül maradhatsz.

Proclub bizonyára jobban ismeri ezeket a szankciókat (mint szolgáltató), nekem a tárhelyemen 90 másodpercenként 30 levelet lehet elküldeni, ha annál többet küldök, akkor késleltetéssel büntet (egyébként meg kérdezd meg a szolgáltatódat).

Sok egyéb szempontból is jobb lenne (karakter kódolás, mellékletek, SPAM vs. nem SPAM), ha átnyergelnél egy komolyabb levelező alkalmazásra (SwiftMailer) és a jövőben, ha már megkerested az árát, felejtsd el a mail függvényt!

Mikor mi a cégnél kiszámoltuk, megmértük, hogy egy hírlevél kampány akár 2M forgalom növekedést is eredményezhet, abban a pillanatban béreltünk egy SMTP szervert és azóta teljes egészében megoldódott minden hírlevelezéssel kapcsolatos problémánk.
4

nem rossz ötlet

PredMan · 2009. Ápr. 1. (Sze), 10.30
inkább percenként küldenék ki 30 levelet 30 címzettnek

ezt még nem próbáltam, lehet ez lesz. Bár ettől meg azért félek, mert akkor 3000 levélnél már irgalmatlan sok levél fog érkezni és nem-e kerülök ez miatt SPAM listára.

egyébként meg kérdezd meg a szolgáltatódat

ez volt az első lépésem, mielőtt még elkezdtem volna boncolgatni a szkriptemet. Mert ugye minek átírni egy teljes kódot, ha nekik egy kattintás ezt megoldani. Gondolja ezt egy naív ember a mai világban... felhívtam őket (kibernet) és egy igazi ipari barom vette föl a telefont, tagadott mindent, hogy ehez nekik semmi közük és hogy ez biztos az ADSL műve. De mondom ember, TE VAGY A SZOLGÁLTATÓ! neked ezt tudnod kéne! hogy ő ilyesmiről nem tud, jah mondom kösz a semmit... eztán alakítottam át ilyen csoportos küldőre a kódomat, de a fennt leírtakba ütköztem.

lehet igazatok van, itt a mail() fv már kevés... ezt a SwiftMailer-t megcsekkolom.
5

Nem értem!

s_volenszki · 2009. Ápr. 1. (Sze), 10.44
Miért ennyire fontos neked az, hogy a levél elindult-e tőled? Ha van egy megbízható levélküldő alkalmazásod és formailag helyes e-mail címeid, az még nem garancia a célba érésre, hogy tudod, tőled kiment!

Csinálj a küldésből naplófájlt és olvasgasd azt 10 percenként.
6

Szolgáltató

janoszen · 2009. Ápr. 1. (Sze), 13.56
A szolgáltatók levelezőrendszerei általában nincsenek fölkészítve hírlevél kiküldésére. A kérdés az, hogy mondjuk Neked megérne-e valamennyi pénzt egy ilyen szolgáltatás igénybevétele. Ha igen, akkor a kereslet-kínálat alapján valahol majd lesz rá szolgáltató is. Akár mi is csinálhatnánk ilyet. :)
7

Hírlevelező szolgáltatással és programmal Dunát lehetne...

s_volenszki · 2009. Ápr. 1. (Sze), 15.16
Hírlevelező szolgáltatással és programmal Dunát lehetne rekeszteni, azonban a hírlevelező program önmagában még nem megoldás.

A mai társzolgáltatások túlnyomó többsége (mondjuk az ár-érték arányos szolgáltatások) shared hosting, így hiába veszel egy hírlevelező programot cirka 40-50e bruttóért (mert annyiért már lehet) és hiába SwiftMailer-es Sendmail üzemmódban, vagy SMTP úgy, hogy a tárhelyhez tartozó Sendmail tud SMTP autentikációt, akkor is azt az IP címet kockáztatod amelyiken a tartalmad van, és még vagy 100 másik.

Kis hazánkban érdekes jelentést kapott az elektronikus úton terjesztett ajánlat, reklám, így simán előfordulhat, hogy úgy kapsz SPAM-er minősítést, hogy bizonyíthatóan feliratkozottaknak leveleztél.

Az alapvető ok, ami miatt mi is SMTP szerver mellett döntöttünk az az, hogy nincs kapcsolatban (IP) a tartalom kiszolgálásával, így bármilyen alkalmazott retorzió kizárólag az SMTP szervert érinti, amin IP címet cserélni pedig tényleg csak egy tollvonás. Természetesen ez nem arra megoldás, hogyan SPAM-elj, ez egy biztonsági és kényelmi szolgáltatás.

Szóval ha én szolgáltatásban gondolkodnék, bizonyára ebben az irányban indulnék el...
8

IP

janoszen · 2009. Ápr. 1. (Sze), 17.36
Én inkább arra gondoltam, hogy dedikálni a kiküldésre több IP-t, amiről tudnak menni kifele a hírlevelek és adott esetben hozzá egy megfelelő szoftver, de SwiftMailerrel használhatóan. Szigorúan a low-cost kategóriában persze.
9

Pontosabban?

s_volenszki · 2009. Ápr. 1. (Sze), 20.18
Van pontos elképzelésed? Akár privátban...
10

Jó megoldás

Peti.nagy1 · 2009. Júl. 17. (P), 19.09
A proclub megoldásával értek egyet, bár én most próbálok íratni egy ilyen programot sok a megoldatlan rejtély. Pl a magyar számítógépemen írt .eml levél a Francia free.fr ( egy meglehetősen nagy szolgáltató pl UPC-hez hasonló) online levelezőjében sok kis ákom bákom lett az amúgy franciául megírt levelemben. Unicod-8-ban küldtem.

Proclub-ot kérdem, hogy tudna-e rám is időt szánni egy ilyen programra árajánlatot adni? peti.nagy1##kukac##gmail.cm