DISABLE todas as funções de correio no Ubuntu [closed]

3

Eu tenho um ambiente de teste padrão em um servidor Ubuntu (LAMP), com algumas páginas da Web.

Existem algumas páginas da web que enviam e-mails em determinados eventos de fluxo de trabalho.

Eu tenho que executar alguns testes no sistema, mas não posso permitir que emails aleatórios voem e enviem spam para os moderadores (aconteceu uma vez).

Desabilitar a parte específica do código ou ajustar as configurações da página da Web não é um bom cenário, já que o sistema precisa estar em uma configuração semelhante à produção, além de poder existir em vários locais (ou um cenário de fallback se um dos opções está desativado) e não posso arriscar.

A solução mais razoável que posso imaginar é desabilitar (temporária) todos os serviços de correspondência (normalmente usados com PHP).

Eu tenho acesso total no servidor e nas habilidades básicas do Linux.

achou esta bruxa bonita para começar:

sudo /etc/init.d/sendmail stop

Mas eu preciso saber como se existem outros serviços de correio possíveis,
como verificar se eles estão funcionando,
como pará-los,
como validar.

Eu acho que o comando acima provavelmente será o suficiente ... mas eu gostaria de ouvir a opinião de alguém com mais experiência no assunto.

    
por d.raev 08.08.2014 / 13:09

1 resposta

2

Se você parar todo o servidor de e-mail assim ( /etc/init.d/sendmail stop ), poderá encontrar algumas dificuldades para testar corretamente seu código. Por exemplo, ao passar pela ação que envia o e-mail, ele pode esperar muito e gerar o tempo limite porque o servidor de e-mail não está ativo, levando você a pensar que seu código não está funcionando.

Minha abordagem pessoal sobre o assunto não é parar o servidor de email, mas é atuar no nível do código e no nível do sistema:

  1. Antes de mais nada, se você precisar enviar e-mails, não será necessário ter um servidor de e-mail completo como Sendmail ou Postfix ou Qmail instalado. Você pode simplesmente instalar o pacote ssmtp , que é suficiente para enviar e-mails usando uma retransmissão de e-mail configurada em /etc/ssmtp/ssmtp.conf .
  2. Se o seu aplicativo estiver enviando e-mails usando um binário local como mail ou sendmail , parar o servidor de e-mail pode não ser a solução: os e-mails podem ser enfileirados localmente e se você iniciar novamente o servidor de e-mail, todos os e-mails acumulado será enviado de uma vez.
  3. Minha solução ideal seria enviar e-mails usando o protocolo SMTP diretamente de seu aplicativo, conectando-se a um endereço IP e uma porta (padrão 25), possivelmente usando nome de usuário e senha para fornecer autenticação.
  4. Se seu aplicativo puder enviar e-mails para um relé (sendo local ou externo), certifique-se de que ele não esteja codificado em seu código, mas definido por meio de um arquivo de configuração dedicado ao seu aplicativo. O mesmo deve ser aplicado para os endereços de e-mail de destino.
  5. Se você respeitar o ponto anterior, poderá criar um servidor de armazenamento temporário com uma configuração de email diferente. A configuração do servidor de temporariedade pode ser enviar email para seu endereço de email pessoal.
  6. Essa abordagem como vantagens para permitir que você teste as funcionalidades de e-mail também sem atrapalhar o destino real dos e-mails de produção. Além disso, você tem certeza de que não criará efeito colateral de desativar um servidor de e-mail.
por Benoit 08.08.2014 / 14:16

Tags