Em primeira instância para despiste do erro comecei por executar a seguinte query sobre a base de dados msdb que me permitiu visualizar o log de todas as tentativas que estava a fazer de envio de email:
select *
from sysmail_event_log
order by 1 desc
Donde verifiquei que o erro era:
“The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 8 (2015-12-20T23:14:43). Exception Message: Cannot send mails to mail server. (Failure sending mail.).)”
Próximo passo validar o servidor SMTP …
Para fazer isso fui ao IIS6
Propriedades do servidor SMTP
Destes passos verifiquei que no separador Access, na opção “Connection” estaria a bloquear todos os IPs com exceção do suposto IP da meu servidor.
Parecia estar tudo correto, mas por via das dúvidas decidi tentar selecionar “All except the list below” e tentar enviar um novo email de teste. Após executar este último passo verifiquei que conseguia novamente enviar emails sem qualquer tipo de problema!
Causa deste problema:
O meu servidor é uma máquina virtual Azure que não tem um IP interno dinâmico. Quando fiz um reiniciar ao servidor o IP interno mudou, e consequentemente os processos não estariam a conseguir aceder ao servidor SMTP.
Solução 1: Manter a opção que qualquer computador conseguirá aceder ao servidor SMTP
Solução 2: Mudar as propriedades da máquina virtual para utilizar um IP estático em detrimento do dinâmico e voltar a colocar a opção “Only the list below”
Solução 3: Selecionar a opção “Only the list below” mas sobre um dominio em detriment de IP
.
.
.
.