Curatare adrese de email cu php

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator

clickymedia
Junior Member
Mesaje: 45
Membru din: Mie Iun 17, 2015 2:11 pm
Contact:

Curatare adrese de email cu php

Mesajde clickymedia » Mar Aug 25, 2015 8:23 pm

Salut,

Am o lista cu 5000 de adrese de email si vreau sa vad cate din ele sunt valide.
valide = daca mai exista adresele de email, daca sunt scrise corect
Se poate face acest lucru cu PHP ? Stie cineva un tutorial ?

Dupa ce curat lista vreau sa trimit email la 5000 de adrese ? Se poate face din php si sa treaca printr-o clasa de ip-uri ?

Multumesc frumos


Pe caut hotel gasesti case si apartamente de inchiriat in regim hotelier.

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Re: Curatare adrese de email cu php

Mesajde Birkoff » Mar Aug 25, 2015 11:47 pm

Cod: Selectaţi tot

/*
 * Verifica daca adresa specificata este corecta
 * si daca domeniul exista
 * 
 * @param string $email
 * 
 * @return bool - TRUE daca este corecta sau FALSE in caz contrar
 */
function check_email($email) {
    //return (bool) preg_match('/^[a-zA-z0-9\._-]{1,}@[a-zA-Z0-9\._-]{1,}\.[a-zA-Z]{2,6}$/i', $email);
    if ( ! filter_var($email, FILTER_VALIDATE_EMAIL)) {
        return false;
    } else {
        $x = explode("@",$email);
        $dom = array_pop($x);
        $dom = strtolower($dom);
            if(checkdnsrr($dom,"MX")){
                return true;
            } else {
                return false;
            }
        }
    }
}


mai sus ai functia care o folosesc eu pentru verificarea mailului.
in ce priveste trimiterea lor, limitarea vine de la server, majoritatea serverelor nu permit mai mult de 100-300 mailuri pe ora (iti arata ca s-au trimis dar sunt blocate de server si nu ajung la destinatie) - solutia e ori sa trimiti cate 100 pe ora ori sa cumperi un serviciu de mailer care sa iti permita trimiterea a 5000 mailuri pe ora.
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

clickymedia
Junior Member
Mesaje: 45
Membru din: Mie Iun 17, 2015 2:11 pm
Contact:

Re: Curatare adrese de email cu php

Mesajde clickymedia » Mie Aug 26, 2015 12:41 pm

Functia atasata de tine verifica daca adresa de email este scrisa corect si daca exista domeniul ?
Dar la adresele de yahoo nu isi da seama daca adresa de email mai exista sau nu.

Am mai cautat pe google si am gasit urmatorul script. Din ce inteleg eu acest script trimite un mesaj la adresa de email si in functie de ce raspuns primeste returneaza true sau false. Intrebarea mea este, daca folosesc functia de mai jos si din 500 adrese de yahoo sunt valide doar 100 atunci ip-ul de pe care folosesc functia de mai jos pentru verificare va fi bagat in blacklist ?

Cod: Selectaţi tot

http://www.phpromania.net/forum/viewtopic.php?f=24&t=29410&sid=76f5d9ef9a9d35ba19bfb0a793802500


Pentru trimitere de email-uri folosesc:

Cod: Selectaţi tot

 - http://www.sendmachine.com/
 - http://mailchimp.com


si mai era un site care permitea cam 15 000 de emailuri dar nu imi trece prin cap acum, revin cu el

Problema e ca daca lista de email-uri nu este verificata si sunt multe invalide ma baneaza.


Stie cineva cu ce se mananca trimiterea de mailuri in masa. De unde pot inchiria un server mai ieftin pentru a trimite mailuri ? Cum sa configurez un server sau ce programe trebuie sa folosesc ? Un tutorial sau o sursa de documentare sunt binevenite.

@Birkoff Multumesc pentru ajutor!
Pe caut hotel gasesti case si apartamente de inchiriat in regim hotelier.

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Re: Curatare adrese de email cu php

Mesajde Birkoff » Mie Aug 26, 2015 2:54 pm

1) singura varianta sa vezi daca o aresa exista e sa trimiti mail la ea si sa vezi ce se intampla (daca nu exista serverul va returna un mesaj de eroare pe adresa specificata in reply)
- problema e ca daca ai multe adrese invalide, folosind varianta asta o sa fi blocat repede.

2) pentru newslettere in general se folosesc adrese valide luate de la clientii care si-au dat expers acordul pentru folosirea adresei lor in newsletterul respectiv (orice alta varianta, adrese luate de pe net, cumparate din alte parti etc se numeste spam si uite aici un articol legat de ce risti folosind astfel de adrese http://www.mailagent.ro/ro/blog/view/3529 )

3) daca totusi vrei sa risti, pe site-urile de hacking se vand softuri pentru trimiterea mailurilor in masa +pachete de mailuri pentru spam + adrese de smtp (servere de smtp sparte) care sunt folosite pentru spam (dar cum o sa vezi in articolul ala, e de ajuns sa te reclame cineva si amenda e usturatoare :)

4) Recomandarea mea pentru tine (ca si pentru clientii mei) e sa te focusezi mai mult pe marketing-ul afacerii tale, sa cresti traficul si sa obtii astfel adrese de email de pe site-ul tau in mod legal (avand astfel un impact si mai mare asupra celor care primesc newsletterul respectiv)
Daca nu te descurci pe partea de marketing, iti pot oferi o ora de consultanta (contra cost) in care sa iti explic cum iti poti creste afacerea ta online si ce pasi ai de urmat cu investitii minime.
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

clickymedia
Junior Member
Mesaje: 45
Membru din: Mie Iun 17, 2015 2:11 pm
Contact:

Re: Curatare adrese de email cu php

Mesajde clickymedia » Mie Aug 26, 2015 11:13 pm

Momentan vreau sa invat cum pot trimite un numar mai mare de email-uri si cum sa curat lista :d
Am tot cautat pe internet si mi-a venit urmatoare idee.

Sa fac 10 adrese de email le yahoo si sa fac un script care sa trimite newsleter random. Mai exact sa selecteze o adresa de email random din cele 10 si sa trimita mesajul, 1 minut doarme si dupa selecteaza iar o adresa de email, se conecteaza la ea si trimite mesajul.

Am facut urmatorul script pentru a intelege la ce ma refer

Cod: Selectaţi tot

<?php

//https://code.google.com/a/apache-extras.org/p/phpmailer/downloads/list

require 'class.phpmailer.php';

$mail = new PHPMailer(true);

$body = file_get_contents('tpl_newsletter.html');
$body = preg_replace('/\\\\/','', $body);

$rand = rand(1,2);

$mail->IsSMTP();
$mail->SMTPAuth   = true;
$mail->SMTPSecure = "ssl";
$mail->Port       = 465;

if ( $rand == 1 ) {
   $mail->Host       = "smtp.mail.yahoo.com";
   $mail->Username   = "nume1@yahoo.com";
   $mail->Password   = "parola";
} else if ( $rand == 2 ) {
   $mail->Host       = "smtp.mail.yahoo.com";
   $mail->Username   = "nume2@yahoo.com";
   $mail->Password   = "parola";
}

$mail->SetFrom('from@yahoo.com', 'Nume optional');
$mail->AddReplyTo("replay@yahoo.com","Nume optional");
$mail->AddAddress('catre@yahoo.com', "Nume optional");
$mail->Subject = "Subiect newsletter";
$mail->AltBody = "";//To view the message, please use an HTML compatible email viewer!
$mail->MsgHTML($body);

//$mail->AddAttachment("img.gif");

if ( !$mail->Send() ) {
   echo "Error: " . $mail->ErrorInfo;
} else {
   echo "DONE";
}

?>


A mai incercat cineva ceva de genu, stie cineva cam cate email-uri pot trimite pe zi de pe o adresa de yahoo sau gmail ?
Din ce am citit eu pe gmail se pot trimite cam 500 / zi pe yahoo nu am gasit.

Si cu legea de mai sus daca trimit de pe conturi de yahoo sau de gmail sau cu alte conturi din strainatata cum pot ajunge ei la mine ? De unde stie a cui este adresa de yahoo sau de gmail creata peste noapte ? Nu prea ma pricep la servere si cu ce se mananca trimiterea de email-uri si de aceea tot intreb sa pricep si eu ca momentan e cam vrajiste la mine.
Pe caut hotel gasesti case si apartamente de inchiriat in regim hotelier.

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Re: Curatare adrese de email cu php

Mesajde Birkoff » Mie Aug 26, 2015 11:41 pm

yahoo stiu ca nu permite smtp (sau daca permite are limitari mari)
atat yahoo cat si gmail au limita de 150-200 mailuri pe ora si de obicei daca se detecteaza o crestere in trimiterea mesajelor zilnice intervine un operator uman care verifica ce se intampla pe acolo si poate bloca contul.

legat de intrebarea ta, cum ajung ei la tine, pai in mailul ala oferi probabil niste servicii si un link sau ceva catre ce vrei tu sa oferi/vinzi si asa ajung ei la tine (nu va conta ca nu tu ai trimis mailurile ci ca sunt in numele firmei tale si ofera servicii legate de firma ta persoanelor care nu s-au abonat la astfel de servicii) (alta varianta e dupa adresa de ip, se vede de pe ce ip a fost creata se cer datele abonatului acelui ip la providerul respectiv si asa ajung la cel care a trimis si a creat acea adresa - chiar daca ip-ul e dinamic, providerii au obligatia sa tina loguri cui si cand a fost alocata o adresa de ip)
PS - filtrele de spam sunt destul de inteligente in ultima vreme, daca detecteaza mai multe mailuri cu acelasi continut dar trimise pe adrese diferite pe acelasi domeniu (exemplu catre 10 adrese diferite de pe yahoo) acel mesaj va fi marcat ca spam si nu va mai ajunge in inbox ci in spam. (la fel daca mesajul contine linkuri sau poze externe)

ca sa intelegi ce inseamna trimiterea de mailuri, ai nevoie de un server de mail dar acel server nu trebuie sa se afle in black list (altfel orice mail trimis de pe acel server va ajunge in spam indiferent cui e adresat) iar firmele care ofera servere de mail au foarte mare grija ce si cui se trimit mailuri pentru ca sa nu intre ip-urile lor de la servere in black list (de intrat intra usor un server in black list, de scos e foarte greu, aproape imposibil)
Daca folosesti script de pe localhost (calculatorul de acasa) de obicei intervine providerul de internet (rds au filtre foarte active legate de mail pe serverele lor) si le blocheaza inainte sa ajunga la destinatie.
Daca folosesti script pe un domeniu, ai 50% sanse sa ajunga in inbox 50% sanse sa ajunga in spam (sau ajung in prima zi in inbox apoi filtrele de spam invata regulile si a doua zi mailurile ajung in spam) + detinatorul acelui domeniu e notificat de problema (iar daca problema persista se poate ajunge la ce e specificat in articolul ala din blog).
Daca folosesti script cu servere de smtp-uri sparte (de pe site-urile de hacking) in general alea sunt deja spamate si in black list deci slabe sanse ca acele mailuri sa ajunga in inbox-ul destinatarului.

clientii mei folosesc servere dedicate pentru campanii de mail de genul mailchimp sau aweber si isi strang adresele de mail absolut legal prin intermediul campaniilor de marketing din site-ul propriu sau de pe site-urile partenere (retele sociale sau afiliati) dar si ei au uneori probleme cu nr mare de adrese la care trebuie sa trimita (in special de sarbatori sau in perioada evenimentelor de black frday)
pe scurt, nu exista o solutie 100% sigura pentru ce vrei tu sa faci.
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

clickymedia
Junior Member
Mesaje: 45
Membru din: Mie Iun 17, 2015 2:11 pm
Contact:

Re: Curatare adrese de email cu php

Mesajde clickymedia » Joi Aug 27, 2015 12:13 am

Am multicele adrese de email colectate destul de legar din comenzi si abonati (nu folosesc liste cumparate de pe internet sau programe de colectat)
Saptamana trecuta am trimis cateva newsletere cu mailchimp la 2000 de adrese si multe din ele au fost cu problema deoarece sunt colectate de pe site-uri cu vechime de 5 - 7 ani, multe adrese nu mai sunt valide si am cautat ceva sa curat. Am folosit functia data de tine mai sus si m-a ajutat foarte mult deoarece am avut destule adrese scrise gresit gen ( @yahoo.cim, @yaho.com ... multe surprize amuzante )

Daca rulez scriptul de mai sus pe un site si trimit email-uri prin smtp-uri de la yahoo si gmail imi pot penaliza ip-ul de la domeniu.
Ex. rulez scripul de mai sus pe numesite.ro/newsleter.php si in pagina newsleter.php am scriptul de mai sus care trimite prin smtp yahoo. Ip-ul domeniului numesite.ro poate ajunge in liste negre ?

Multumesc frumos pentru raspunsuri, sunt de mare ajutor
Pe caut hotel gasesti case si apartamente de inchiriat in regim hotelier.

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Re: Curatare adrese de email cu php

Mesajde Birkoff » Joi Aug 27, 2015 2:26 am

clickymedia scrie:Daca rulez scriptul de mai sus pe un site si trimit email-uri prin smtp-uri de la yahoo si gmail imi pot penaliza ip-ul de la domeniu.
Ex. rulez scripul de mai sus pe numesite.ro/newsleter.php si in pagina newsleter.php am scriptul de mai sus care trimite prin smtp yahoo. Ip-ul domeniului numesite.ro poate ajunge in liste negre ?


1) nu stiu daca yahoo mai permite smtp extern va trebui sa verifici daca iti merge sa trimiti facand un test cu o adresa de yahoo de-a ta si vezi daca iti intra mailul
2) daca merge, poti trimite mail folosind scriptul tau (tot clasa phpmailer o folosesc si eu) dar ca sa nu ai probleme nu trimite multe mailuri pe ora (sub 100) si seteaza corect adresa reply sa iti vina notificarile.
3) daca nu depasesti nr limita si din cei care le ajunge mailul nu dau pe butonul "spam" atunci nu ar trebui sa ajunga ip-ul domeniului in black list (daca domeniul e pe vps si nu e pe shared host unde acelasi ip e folosit de toate domeniile de pe acel shared - atunci probabil sunt sanse ca acel ip sa fie deja in black)
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 23 vizitatori