Hola @beatrizseller y @irenelab,
@irenelab tiene razón, modificar la clase Mail directamente con un override es una solución frágil. En PrestaShop 9.1.0, aunque la clase Mail sigue existiendo por compatibilidad, la lógica subyacente de envío de correos se ha modernizado. La forma más robusta de inyectar o modificar los parámetros del correo electrónico, incluido el CCO, es utilizando el hook actionEmailSendBefore.
Este hook se ejecuta justo antes de que el correo sea enviado y te permite modificar los parámetros por referencia. Aquí te muestro cómo podrías implementarlo en un módulo simple (o incluso en un módulo de tema si estás seguro de que no se actualizará):
// Dentro de la clase principal de tu módulo (en su método install() deberías registrar el hook)
// public function install()
// {
// return parent::install() && $this->registerHook('actionEmailSendBefore');
// }
public function hookActionEmailSendBefore(array &$params): void
{
// Define la dirección CCO que quieres añadir
$bccAdicional = 'ventas@mi-tienda.es';
// Si el CCO ya está definido y no es un array, lo convertimos a array
Con este código, estás manipulando el array $params directamente, y gracias a que el hook actionEmailSendBefore pasa los parámetros por referencia (nota el & en array &$params), los cambios se propagarán al proceso de envío de correo. Esto es mucho más limpio que un override directo.
No obstante, para una gestión más avanzada, con opciones configurables desde el Back Office, o si necesitas CCO condicional para diferentes tipos de correo, te recomiendo un módulo específico para ello. Por ejemplo, nuestro módulo Envíe una copia de los correos electrónicos (BCC) está diseñado precisamente para esto, ofreciendo una solución robusta y configurable que no se verá afectada por futuras actualizaciones del core de PrestaShop.