O Selor, permite através da opção 'Port' escolher a porta no qual vai escutar conexões.
Em alguns casos o servidor de Relay autenticado dos clientes (porta 587) é mesmo do MTA de entrada de emails dos domínios (porta 25) e precisamos fazer o MTA escutar ambas as portas.
A forma mais simples de se fazer isto é criar uma regra no Firewall do servidor redirecionando a porta 587 para a 25.
No Linux:
Código:
iptables -t nat -A PREROUTING -p tcp --dport 587 -j REDIRECT --to-ports 25
Caso não queira usar redirecionamento de portas via Firewall, você pode fazer o Selor escutar a porta 587 também.
A opção 'Port' não aceita mais de um valor.
Para escutar ambas as portas, você vai precisar criar um outro arquivo de configuração do selor (selor.conf). Você pode fazer uma cópia:
Código:
cp /usr/local/selor/selor.conf /usr/local/selor/selor_587.conf
Obs: O nome do arquivo 'selor_587.conf' não influencia em nada o servidor, você pode colocar outro nome se quiser.
Abra o arquivo 'selor_587.conf' e altere as opções: Port, Pid_file e Sid de forma a ficarem assim:
Citação:
Port 587
Sid "sv587"
Pid_file "/var/run/selor_587.pid"
As opções acima são obrigatórias. Mas veja que desta forma você pode apontar todos os Eventos para arquivos diferentes e assim, tomar outras medidas para seus clientes que conectam-se na porta 587.
Salve e saia do arquivo. Agora só precisamos alterar o script de inicialização do servidor para ele carregar o servidor da porta 587:
Código:
pico /etc/rc.d/rc.selor
Deixe-o desta forma:
Citação:
#------------------------------------
# Script to control MTA Selor server
# ./rc.selor start
# ./rc.selor stop
# ./rc.selor restart
#
#----
start_selor() {
if [ -x /usr/local/selor ]; then
echo "Starting MTA SELOR: /usr/local/selor/selor"
/usr/local/selor/selor -q
sleep 1
/usr/local/selor/selor -c /usr/local/selor/selor_587.conf
fi
}
#----
# Stop selor:
stop_selor() {
pid=`cat /var/run/selor.pid`
kill $pid
sleep 1
pid=`cat /var/run/selor_587.pid.sv587`
kill $pid
}
#----
case "$1" in
'start')
start_selor
;;
'stop')
stop_selor
;;
'restart')
stop_selor
sleep 1
start_selor
;;
*)
echo "The acceptable parameters: $0 start|stop|restart"
esac
Veja que eu apenas mandei carregar um servidor a mais, apontando-o para outro arquivo de configuração.
Agora é só dar um stop e um start:
Código:
/etc/rc.d/rc.selor stop
/etc/rc.d/rc.selor start
OBS: É normal dar erro no primeiro Stop. Ele vai tentar dar um kill partindo de um arquivo de PID que ainda não existe.
Este feito. É só testar agora a porta 587.