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.
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?
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.
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)
Tags sendmail