sendmail.cf para ler o nome do servidor de outro arquivo?

sendmail.cf para ler o nome do servidor de outro arquivo?

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 makemapo programa. Nenhuma reinicialização do sendmaildaemon é 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)

informação relacionada