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

2

Eu preciso fornecer o nome de um servidor de retransmissão para o meu arquivo de configuração do sendmail. Este nome do servidor é, no entanto, configurável através de outro sistema / aplicativo.

No caso de uma mudança, eu preciso mudar o nome do servidor neste arquivo e reiniciar o sendmail.

Além disso, eu não tenho a opção de compilar o arquivo sendmail.mc toda vez que ele muda.

É 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?

    
por chingupt 17.05.2013 / 11:49

2 respostas

1

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.

    
por 17.05.2013 / 19:35
1

Você pode usar a rota padrão em mailertable em vez de host inteligente - consulte FEATURE (mailertable) . Será consultado / usado antes de host inteligente = > ele substituirá o host inteligente.

entrada de arquivo mailertable para rota padrão ("single dot" como chave):

.  relay:smart-host.example.net

O Sendmail usa a versão do arquivo compilado usando o programa makemap . Não é necessário reiniciar o daemon sendmail após a recompilação por makemap .

Como testar:

sendmail -C/etc/mail/sendmail-test.cf -d60.5 -bv [email protected]

-C file - use o arquivo de configuração alternativa para -d60.5 - ative as pesquisas de mapa de rastreamento (incluindo o mapa mailertable)

    
por 17.05.2013 / 20:52

Tags