 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
Viktor_22
Data înscrierii: 10/Mar/2005
Mesaje: 3
Locație: tg-m
|
| Trimis: Vin Mar 11, 2005 11:23 am Titlul subiectului: probleme cu newsletter-ul |
|
|
Buna ,
Am un newsletter si cam 2500 - 3000 de clienti la care vreau sa le trimit mailuri lunar , problema e ca daca fac ceva de genu
-----------------------------------------------
query pt adresele de mail ale clientilor
while (index-ul nu e la sfarsit)
mail(email_client,subiect,mesaj,antet);
------------------------------------------------
dupa o vreme scriptul da time-out si nu reuseste sa trimita la totzi!
ar mai fi asta
-----------------------------------------------
query pt adresele de mail ale clientilor
while (index-ul nu e la sfarsit)
$adrese.=adresa_clientului...
mail( $adrese,subiect,mesaj,antet);
------------------------------------------------
dar aici va aparea pe fiecare mail toate adresele la care a fost trimis mailul respectiv.
Cum as putea eu sa fac ca pt fiecare client sa-i apara doar adresa sa proprie adica aceea la care s-a trimis mailul si nu 3000 de adrese cand il deschide?
E posibil ca si in al doilea caz mail serverul sa dea rateuri sau se stie gestiona mai bine?
Mailurile sunt in format HTML daca asta conteaza.
Scuze pt ca nu am scris cod efectiv si am apelat la un limbaj uman , de asemenea nu ma prea pricep la tehnologia din spatele unui mail server so poate am zis tampenii :) |
|
| Sus |
|
Birkoff
Data înscrierii: 18/Mar/2004
Mesaje: 2577
Locație: Bucuresti
|
| Trimis: Vin Mar 11, 2005 11:44 am Titlul subiectului: |
|
|
O idee, baga adresele la Bcc si asa nimeni nu vede adresa iar la $catre bagi adresa site-ului...
/* Antete adiționale */
$antete .= "From: Monitorizare zile de nastere <birthday@example.com>\r\n";
$antete .= "Cc: birthdayarchive@example.com\r\n";
$antete .= "Bcc: birthdaycheck@example.com\r\n";
/* Și acum să-i dăm drumul... */
mail($catre, $subiect, $mesaj, $antete); |
|
| Sus |
|
aurelian
Data înscrierii: 01/Iun/2003
Mesaje: 833
Locație: Bucuresti
|
| Trimis: Vin Mar 11, 2005 11:46 am Titlul subiectului: |
|
|
Cateva solutii:
1. poti seta time-out-ul cu functia:
an style="color: #000000"><?php void set_time_limit ( int seconds )
de ex. set_time_limit(0); nu iti va mai da time-out.
2. poti incerca sa folosesti phpMailer (google dupa phpmailer), o clasa ce foloseste socketi ptr. a trimite mail (e mai rapid pe socketi decat cu mail() )
2.1 scrie tu o clasa/functie ce permite trimiterea mailurilor prin socketi.
3. incearca sa folosesti un script separat pus intr-un cron job, unde vei face un cache al adreselor de mail pe care le poti scrie intr-un fisier text. Din pagina web (sau de unde trimiti tu mailurile) poti sa citesti fisierul ala si astfel nu va mai fi nevoie de interogari sql.
Cred ca cea mai buna solutie este o combinare intre cele 3 variante. |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|