Ir para conteúdo
  • Cadastre-se

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


Fernando Rafs

Posts Recomendados

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.
# copyright@cpanel.net                                         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.

Editado por Guto
Link para o comentário
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Infelizmente, seu conteúdo contém termos que não são permitimos. Edite seu conteúdo para remover as palavras destacadas abaixo.
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Concorda com os nossos termos?