
Preciso fornecer o nome de um servidor de retransmissão ao meu arquivo de configuração do sendmail. No entanto, este nome de servidor pode ser configurado através de outro sistema/aplicativo.
Em caso de alteração, preciso alterar o nome do servidor neste arquivo e reiniciar o sendmail.
Além disso, não tenho a opção de compilar o arquivo sendmail.mc sempre que ele for alterado.
É possível pedir ao sendmail para ler/incluir outro arquivo para o nome do servidor. Este arquivo conterá o nome do servidor que foi configurado no sistema?
algo como: include("./severname.conf");
onde servername.conf terá o nome do servidor para o qual a retransmissão precisa ser feita.
É possível?
Responder1
O host inteligente é macro $S
, então você precisa de uma sequência de comandos como esta:
cd /etc/mail
cp sendmail.cf sendmail.cf.old
sed -e 's/^DSold.host.name/DSnew.host.name/' sendmail.cf.old > sendmail.cf
e reinicie o sendmail.
Responder2
Você pode usar a rota padrão no mailertable em vez do host inteligente - vejaRECURSO(tabela de correspondência). Será consultado/utilizadoanteshost inteligente => substituirá o host inteligente.
entrada de arquivo mailertable para rota padrão ("ponto único" como chave):
. relay:smart-host.example.net
Sendmail usa a versão do arquivo compilado usando makemap
o programa. Nenhuma reinicialização do sendmail
daemon é necessária após a recompilação pelo makemap
.
Como testar:
sendmail -C/etc/mail/sendmail-test.cf -d60.5 -bv [email protected]
-C file
- usar arquivo de configuração alternativo
-d60.5
- ativar pesquisas de mapa de rastreamento (incluindo mapa mailertable)