Servidores separados (ya sean físicos o virtuales) para diferentes funciones es una idea EXCELENTE.
Si un servidor muere o tiene problemas, solo afecta a ese servicio. Si todos están en el mismo servidor, algo que bloquea el servidor elimina todo.
También significa que puede programar actualizaciones más fácilmente, ya que hacer las actualizaciones solo afecta un servicio a la vez. Y cuando decida actualizar el sistema operativo algún día, no tiene que preocuparse por que rompa varios servicios diferentes. Incluso puede encontrarse con una situación en la que un sitio web necesita una versión anterior de PHP o MySQL para funcionar correctamente, pero sus servicios de correo electrónico necesitan una versión más nueva. Los servidores separados lo tienen cubierto allí.
También facilita la restauración de las copias de seguridad. Si el correo electrónico y los sitios web están en un servidor, debe preocuparse por restaurar los datos de ambos al mismo tiempo. Y posiblemente perder algunos de los cambios más recientes de correo electrónico y sitio web que aún no se han respaldado. Si están separados, solo tiene que preocuparse de que uno de ellos sea revertido. Especialmente útil si está restaurando el servidor web: volver a aplicar algunos cambios en el sitio web no es tan malo. Tener que eliminar las últimas 23 horas de correos electrónicos porque el sitio web se rompió es.
La desventaja es que ahora tiene más servidores para administrar y pagar. Pero en la mayoría de los casos, vale la pena eliminar el riesgo de que un problema elimine TODO.