funções imap
funções imap
Recentemente precisei de lidar com o bounce de emails enviados a parti de uma lista e levei algum tempo chegar a uma solução viável.
Eu tinha inicialmente uma script associado a um cron job que correr de hora a hora e envia 150 mails a parti de uma lista numa base de dados. O script que segue abre a conta de correio que está a ser utilizada para o envio, lê os emails que lá estão, que neste caso são só emails devolvidos (não tenho isto feito de forma a lidar com uma caixa de correio que esteja a ser utilizada para comunicação normal e tenha outros emails na inbox), procura um endereço de email no body do email devolvido, compara com a base de dados e se encontrar um valor igual assinala a o registo como rejeitado.
Code:
<?php
//incluir ficheiro com a ligação à base de dados mysql
include('ligacao.php');
//ligar á conta de correio, neste caso com as configurações do hostmoster (novalidate-cert)
$imap = imap_open("{mail.exemplo.org:143/novalidate-cert}INBOX", " This e-mail address is being protected from spambots. You need JavaScript enabled to view it ", "password");
//verificar o numero de mensagens na caixa de correio
$numero = imap_num_msg($imap);
for ($i = 1; $i <= $numero; ++$i) {
//ler o body da mensagem
$body = trim(imap_body($imap, $i));
//procurar por endreços de email
preg_match_all('/(\w+\.)*\w+@(\w+\.)*\w+(\w+\-\w+)*\.\w+/', $body,
$output);
//procurar por correspondencias na base de dados e assinalar como regeitado
foreach($output as $mail){
mysql_query("UPDATE tabela SET recusado = 1 WHERE email = '$mail[0]'")or die(mysql_error());
echo $mail[0]."<br>";
}
//apagar o email
imap_delete($imap, $i);
}
//fechar ligação
imap_close($imap);
?>
Re: funções imap
Provavelmente terias menos chances de os mails irem parar ao spam se enviares menos de cada vez mas com mais frequencia. Empresas como a google(gmail) tem protecções contra spam que mts vezes se detectam mails em massa de um só endereço, enfiam tudo pro spam.
\"Eu vi o quarto roxo ser construido!\"
Re: funções imap
Olha o Funkie. Bem vindo.
O quarto roxo penso que já passou a ser uma casa assombrada. Deve estar cheio de teias de aranha.
Esse script que aí está é para lidar com o bounce causado por preenchimento de bases de dados com emails fictícios. Neste caso em concreto eram os alunos dos cursos de informática. Muitos formadores inscreveram os alunos e preencheram o campo de email com algo como
This e-mail address is being protected from spambots. You need JavaScript enabled to view it
. Esse script consegue ler os mails devolvidos e marca-los na base de dados como inválidos para não serem utilizados numa próxima vez.
Eu tenho enviado 150 emails de cada vez e sim o google e o hotmail tem tendência a marcar o domínio como spam por causa disso.
A chatice é que quando temos listas de 2000 ou 3000 utilizadores, se formos enviar uma comunicação tipo newsletter, 50 emails de cada vez com um intervalo de algumas horas, leva uma eternidade.
Board Info
- Board Stats:
- Total Topics:
- 16
- Total Polls:
- 0
- Total Posts:
- 73
- Posts this week:
- 8
- User Info:
- Total Users:
- 102
- Newest User:
- ImpaceHalliem
- Members Online:
- 0
- Guests Online:
- 1
- Most Active Users:
- umlouco, PLACASUS, beloved, vishzenn, kEEZTHY,fA, Funkie - Morthor, ketan, Matm5
- Online:
- There are no members online
Forum Legend:
Topic
New
Locked
Sticky
Active
New/Active
New/Locked
New Sticky
Locked/Active
Active/Sticky
Sticky/Locked
Sticky/Active/Locked
Powered by
Agora 3.0.13
© Copyright 2007 - 2009 jVitals! All rights reserved.


































