Home > Alojamento, Programação > Kill Spammers

Kill Spammers

O Spam tem sido uma das grandes preocupações dos datacenters nos últimos tempos, parece impossível o parar e já existe medidas descontroladas para o parar e sem sucesso, um desses exemplos é a hotmail que rejeita mails mesmo que não sejam de Spam.

A solução não é fácil, por vezes são colocados ips nas spam list indevidamente, com envios de newsletters que até são legais, ou através das listas de emails ilegais em que todos os que estão nesse servidor acabam por pagar por causa de outrem, pelo que bloquear o número de mails por hora num servidor por conta é essencial, mas poderá causar alguns transtornos, pois em grandes comunidades, ao enviar uma newsletter não é possível enviar para todas as pessoas, o que até pode ser bom pois um envio massivo de mails pode causar instabilidade num servidor. Terá então que enviar em várias vezes, e a melhor solução será uma cron que corre de x em x minutos e enviar um número x de mails, para quem usa CMS’s conhecidos, poderá usar plataformas já feitas, poderá ver aqui.

Como fazer o seu cron (requer conhecimentos em php e sql):

  • Adicionar uma nova tabela com id(chave primária, defeito 1), userid (defito 0), mailid (defeito 0), timestamp (defeito 0), status (defeito 0) (todos podem ser inteiros, caso não guarde em nenhum sitio poderá usar o mailid como o texto do mail e nesse caso deverá adicionar mais uma para informar se é html ou texto).
  • Criar um sistema php que vá buscar x usernames a partir do userid (ex.: “SELECT s1.email from `tabela_users` as s1, `tabela_cron_mail` as s2 where s1.id > s2.iduser order by s1.id asc limit 50″ e no fim fazer um update do userid para o último enviado + 1 (para não enviar 2 vezes ao mesmo).
  • Quando já não houver mais ninguém a enviar colocar o status a 1 para indicar que foi enviado.

Nota: Isto são apenas alguns pontos que deverá ter atenção se quiser construir um sistema seu, existe um script de exemplo para envio de mail no “Repositório de código”, no entanto recomendamos o uso de smtp através da biblioteca especifica que poderá encontrar aqui.

Voltando ao assunto dos servidores, para quem tem um servidor, poderá vir a ter um problema com a hotmail e não só e para isso é preciso tomar algumas precauções, a primeira é o uso do SPF, para quem usa por exemplo o cPanel, bastará adicionar o seguinte nos templates de dns:

%domain%. IN TXT "v=spf1 a mx ip4: ?all"
Ex.: %domain%. IN TXT "v=spf1 a mx ip4:192.168.1.1 ?all"

Para os outros terão que adicionar manulamente um dns tipo TXT com esse conteúdo a cada um dos domínios.

Ex.: meudominio.com IN TXT "v=spf1 a mx ip4:192.168.1.1 ?all"

Nota: Ao adicionar no template, as contas já criadas não são influenciadas, para quem tem uma conta de revenda deverá ter atenção a isto, em último caso fale com o seu provedor de alojamento.

Poderá ir ainda mais longe, a hotmail/microsoft tem um sistema proprietário em que tem como base o Sender ID, e para isso é preciso registar o ip do servidor ou gama de ips em https://postmaster.live.com/snds/addnetwork.aspx, poderá obter mais info sobre este sistema em http://postmaster.msn.com/Default.aspx

Recomendamos que tenha cuidado com o envio de mails em massa para uma melhor regulação de todo o sistema de mails.

Actualização: Deixo aqui também o link para poderem adicionar os vossos domínios à lista da Microsoft relativamente aos SenderID, não esquecendo que o SPF é fundamental.

  1. No comments yet.
  1. No trackbacks yet.

Security Code: