Altera o sendmail padrão do cron para mail

2

Estou executando o FreeBSD 11.0-RELEASE.

No cron padrão está usando /usr/lib/sendmail para enviar e-mails de usuários. Como posso dizer / setar o cron para usar /bin/mail ?

O FreeBSD está usando a versão do cron de Paul Vixie, então a opção -m define o receptor de e-mail não o que o mailer deve usar.

Eu baixei o código-fonte do FreeBSD e tentei o comando # make config em /usr/src/usr.sbin/cron/ , que ofc não funciona porque a configuração não está definida. Mas eu acho que é uma má ideia de qualquer maneira, porque atualizações futuras poderiam facilmente substituir isso?

Obrigado pela sua ajuda!

    
por Anton Stahl 04.04.2017 / 05:56

2 respostas

2
Por padrão,

cron usa o valor da macro _PATH_SENDMAIL em todo o sistema como a expansão de MAILCMD , o comando a ser usado para enviar mensagens geradas por tarefas. Para usar um programa de correio diferente, você precisa modificar o Makefile para definir valores apropriados para as macros MAILCMD e MAILARGS . O Makefile na árvore de fontes inclui definições comentadas que ilustram possíveis valores, mas parece haver um pequeno bug na macro MAILARGS que se aplica quando MAILCMD é definido como /bin/mail - possui duas expansões de string, mas recebe apenas uma string quando chamado, então no patch na essência, eu removi a primeira das expansões.

Se você tiver o utilitário patch instalado (ele está em portas, caso contrário), aplique este patch (relativo para /usr/src/usr.sbin/cron ) e construir / instalar o cron:

% cd /usr/src/usr.sbin/cron
% make 
% make install

Reinicie o cron e você deve estar usando /bin/mail . N.B. esta versão corrigida é compilada no meu sistema (11-STABLE), mas eu não tentei usá-la no lugar da versão padrão. Lembre-se que você provavelmente precisará fazer isso novamente ao atualizar, já que o padrão do FreeBSD é usar /usr/lib/sendmail .

    
por 04.04.2017 / 11:44
2

O caminho real usado por cron é /usr/sbin/sendmail , que é definido em /usr/include/paths.h . Este é geralmente um link simbólico para mailwrapper (8) .

Você pode alterar o comportamento padrão de todos os aplicativos, modificando /etc/mail/mailer.conf . Veja mailer.conf (5) para mais.

Naturalmente, seu /bin/mail precisaria ter uma semântica similar a sendmail e você teria que se sentir à vontade para alterar o comportamento padrão de sendmail em todo o sistema.

    
por 04.04.2017 / 11:17