Jump to content

(SOLUCIONADO) Desactivar algunas alertas de correo a cierta cuenta


ecuc

Recommended Posts

A ver como os lo comento.

Con las alertas de correo, si añado a 2 contactos, ambos van a recibir correos de todo lo que va a recibir la tienda, ya sea nuevos pedidos, devoluciones, productos fuera de stock, ...

El caso es que lo que quiero saber es si hay alguna forma de que uno de esos correos, por ejemplo, le llegue todo pero me evite recibir el correo de productos fuera de stock. Si desactivo la opción el módulo de alertas, lo desactivaría para los 2, sin embargo, solo quiero que esos correos lleguen a una cuenta, no a las 2.

Saludos

Edited by ecuc
Resuelto (see edit history)
Link to comment
Share on other sites

hace 1 hora, ecuc dijo:

Perfecto, ¿se sabría como podría hacerlo? Se que el módulo es ps_emailalert pero, ¿que debería de hacer?

Saludos

 

Personalmente usaria un modulo. he mirado en addons y hay varios que dan la opcion de enviar un aviso de Stock, por lo que usando un modulo de estos, podrias desactivarlo de mailalert y de esa manera mailalert avisaria de pedidos y otros avisos y NO de stock

https://addons.prestashop.com/en/444-stock-supplier-management

Link to comment
Share on other sites

Vale, ya he resuelto el problema por mi cuenta y os voy a explicar lo que he realizado más o menos

En mi caso, tengo 2 correos ([email protected] y [email protected]) que van a recibir todas las notificaciones que están activadas en el módulo de Alertas por correo electrónico

El caso es que uno de esos correos por ejemplo, no quiero que le lleguen los correos de productos que esten fuera de stock. En ese caso, he ido a \modules\ps_emailalerts\ps_emailalerts.php y he buscado este código

if (!defined('PS_MASS_PRODUCT_CREATION') &&
file_exists(dirname(__FILE__).'/mails/'.$iso.'/productoutofstock.txt') &&
file_exists(dirname(__FILE__).'/mails/'.$iso.'/productoutofstock.html')) {
// Send 1 email by merchant mail, because Mail::Send doesn't work with an array of recipients
  $merchant_mails = explode(self::__MA_MAIL_DELIMITOR__, $this->merchant_mails);
  foreach ($merchant_mails as $merchant_mail) {
    Mail::Send(
      $id_lang,
      'productoutofstock',
      Mail::l('Product out of stock', $id_lang),
      $template_vars,
      $merchant_mail,
      null,
      (string) $configuration['PS_SHOP_EMAIL'],
      (string) $configuration['PS_SHOP_NAME'],
      null,
      null,
      dirname(__FILE__).'/mails/',
      false,
      $id_shop
    );
  }
}

Ha sido tan simple como añadir una condición que devuelva vacío dentro del foreach

if (!defined('PS_MASS_PRODUCT_CREATION') &&
file_exists(dirname(__FILE__).'/mails/'.$iso.'/productoutofstock.txt') &&
file_exists(dirname(__FILE__).'/mails/'.$iso.'/productoutofstock.html')) {
// Send 1 email by merchant mail, because Mail::Send doesn't work with an array of recipients
  $merchant_mails = explode(self::__MA_MAIL_DELIMITOR__, $this->merchant_mails);
  foreach ($merchant_mails as $merchant_mail) {
	if ($merchant_mail == "[email protected]") {
						
	} else {
      Mail::Send(
        $id_lang,
        'productoutofstock',
        Mail::l('Product out of stock', $id_lang),
        $template_vars,
        $merchant_mail,
        null,
        (string) $configuration['PS_SHOP_EMAIL'],
        (string) $configuration['PS_SHOP_NAME'],
        null,
        null,
        dirname(__FILE__).'/mails/',
        false,
        $id_shop
      );
	}
  }
}

Supongo que si fuera otro campo, vendrá con alguna función Mail::Send por si queréis orientaros. Espero que haya servido de ayuda

Saludos

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...