¡¡Muchas gracias a los dos, creo que ya estoy solucionando el problema!!
He usado la idea que ha propuesto GatorV así:
Código PHP:
$smtp = ini_get('SMTP');
$da = fsockopen($smtp, '25', $errno, $errstr, '10');
Y ya he conseguido distinguir cuándo está el servidor SMTP funcionando y cuando no lo está.
Ahora la única duda que me queda es si esto también funciona en Linux, me explico:
Cuando he comenzado a aplicarlo, no funcionaba, ya que el servidor SMTP era localhost y nunca podía conectarse a él, así que he entrado en el php.ini y lo he cambiado por 127.0.0.1 (ahora sí que funciona bien), y aparecía un aviso sobre que era sólo para Win32:
Cita: [mail function]
; For Win32 only.
SMTP = 127.0.0.1
smtp_port = 25
¿Este código funcionará en servidores Linux?