Jump to content

[Tutorial] Bloquear E-mail Forward no cPanel para Provedores Gratuitos


Fernando Rafs

Recommended Posts

Fala pessoal! Segue minha contribuição!.

Devido ao endurecimento das regras por parte dos Datacenters ser cada vez maior, no quesito envio de e-mails em Massa/SPAM, implantamos em nossos servidores uma solução (não contra SPAM) mas para evitar o envio excessivo de e-mails para provedores gratuitos como Gmail, Hotmail, Yahoo, entre outros.

Muitos clientes possuem várias contas de e-mails e utilizam o redirecionamento de e-mails para estes provedores, porém quando as contas destes clientes mesmo com filtro antispam ativo recebem muitos e-mails, o servidor se encarrega em enviar uma cópia para estes provedores, é onde estes provedores acabam aplicando vários filtros e deixando sua mensagem na fila.

Esta solução serve apenas para diminuir a carga de envios para estes provedores, se o cliente desejar ele poderá baixar suas mensagens via POP3 diretamente por estes provedores, como é o caso do Google sem precisar utilizar o redirecionamento.

Lembrando que esta solução é aplicada apenas para e-mails de provedores gratuitos, mas você poderá adicionar mais domínios, conforme abaixo:

1. Vá em /usr/local/cpanel/Cpanel e crie um arquivo chamado CustomEventHandler.pm e nele coloque o seguinte conteúdo:

package Cpanel::CustomEventHandler;
# cpanel12 - CustomEventHandler.pm                      Copyright(c) 2008 cPanel, Inc.
#                                                           All rights Reserved.
# [email protected]                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
use strict;
use Cpanel::Logger ();
# apiv = apiversion 
# type = pre,post
# module = Cpanel::<modname>
# event = the event ie addpop
# cfg ref is a hash of the conf variables passed to the event. If its a legacy event, the hash keys are numbered, newer events have names.
# dataref = the data returned from the event (post events only)
sub event {
	my ( $apiv, $type, $module, $event, $cfgref, $dataref ) = @_;
	my $return = 1;
	if ( ($module eq 'email') && ($event eq 'addforward') ) {
		my($localpart, $domain) = split(/@/, $cfgref->{'fwdemail'});
		if (-f "/etc/forwarder_blocked_domains.txt") {
			open(BLOCK, "</etc/forwarder_blocked_domains.txt");
			while (<BLOCK>) {
				chomp($_);
				if ($_ eq $domain) {
					$return = 0;
                                $Cpanel::CPERROR{$Cpanel::context} = "OPPS! O redirecionamento solicitado para o provedor de e-mail $domain foi recusado pelo servidor. Para evitar problemas relacionados a Blacklists/Bloqueios, onde o IP do Servidor e o seu Dominio ficam impedidos de enviar mensagens para determinados provedores, o redirecionamento para provedores de e-mails gratuitos como GMAIL, HOTMAIL, YAHOO, entre outros foi desativado. Por favor, verifique junto ao suporte ou painel de controle do seu provedor de e-mail gratuito a possibilidade de baixar suas mensagens utilizando POP3.";
				}
			}
			close(BLOCK);
		}
	}
	return $return;
}

1;

Nota: Você poderá mudar a mensagem que aparecerá no cPanel através da seguinte linha do código acima:

$Cpanel::CPERROR{$Cpanel::context} = "OPPS! O redirecionamento solicitado para o provedor de e-mail $domain foi recusado pelo servidor. Para evitar problemas relacionados a Blacklists/Bloqueios, onde o IP do Servidor e o seu Dominio ficam impedidos de enviar mensagens para determinados provedores, o redirecionamento para provedores de e-mails gratuitos como GMAIL, HOTMAIL, YAHOO, entre outros foi desativado. Por favor, verifique junto ao suporte ou painel de controle do seu provedor de e-mail gratuito a possibilidade de baixar suas mensagens utilizando POP3.";

2. Agora vá em /etc e crie o arquivo forwarder_blocked_domains.txt com o seguinte conteúdo:

yahoo.com
yahoo.com.br
gmail.com
gmail.com.br
hotmail.com
hotmail.com.br
outlook.com
outlook.com.br
aol.com
googlemail.com
msn.com
msn.com.br
ymail.com
ymail.com.br
redmail.com

Nota: Altere a lista de provedores conforme a sua necessidade.

3. Quando o cliente tentar criar um redirecionamento por exemplo para o Gmail, o redirecionamento não será criado, aparecendo o seguinte alerta:

2015-10-24_1941.png

 

O redirecionamento para os provedores não listados em forwarder_blocked_domains.txt  continuará normal, sem qualquer problema.

Por favor, antes de colocá-lo em produção recomendo que efetue testes em um servidor de testes, para que possa verificar se este Hook poderá lhe atender e que não trará problemas.

Observação 1: Este Hook foi feito utilizando a documentação da própria cPanel.

- https://documentation.cpanel.net/display/SDK/Guide+to+Standardized+Hooks+-+Custom+Event+Handlers

Observação 2: Peguei alguns códigos incompletos na internet, outros através da própria documentação da cPanel e outros adaptei para a nossa necessidade.

Edited by Guto
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Do you agree with our terms?