Seré breve. Primero explico que es la primera vez que toco código PHP, pero ya he programado (y me han pagado por ello) en múltiples lenguajes, con lo que con un vistazo breve pero seguro lo he solucionado.
Mi problema se reducía a que SquirrelMail supone que la autentificación del SMTP y del IMAP es la misma. Es decir, comparten usuario y contraseña.
Esta limitación se habría resuelto en mi caso si hubiese tenido la suficiente previsión de crear exáctamente el mismo usuario en mi servidor IMAP que el que me creo mi ISP. También se habría resuelto con renombrar la cuenta de IMAP, pero ¡qué caray! quiero usar el nombre que me pusieron mis padres y no el que un día un empleado de la Diputación Provincial quiso ponerme.
Solución: armarse del vi e ir a la fuente del problema:
Añadir al fichero /usr/share/squirrelmail/config/config.php:
$smtp_usuario = 'usuario_servidor_smtp';
$smtp_contras = 'contraseña_servidor_smtp';
$useSendmail = false;
$smtpServerAddress = 'servidor_smtp';
$smtpPort = 25;
$smtp_auth_mech = 'login';
Algunas de estas líneas ya estarán seguramente si lo has configurado correctamente con conf.pl, las únicas que son totalmente nuevas son las dos primeras.
Ir al fichero /usr/share/squirrelmail/class/deliver/Deliver_SMTP.class.php y modificar las siguientes líneas:
fputs($stream, base64_encode ($username) . "\r\n");
por esta otra: fputs($stream, base64_encode ($smtp_usuario) . "\r\n");
fputs($stream, base64_encode($pass) . "\r\n");
por esta otra: fputs($stream, base64_encode($smtp_contras) . "\r\n");
Ya puedo enviar correo desde el SquirrelMail sin problemas, con lo que ya podré enviar correo desde el curro tranquilamente.