# Copyright 2018 Therp BV # Copyright 2022 Hunki Enterprises BV # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). import logging from odoo import api, models _logger = logging.getLogger(__name__) class MailThread(models.AbstractModel): _inherit = 'mail.thread' @api.model def message_route_process(self, message, message_dict, routes): """ Set context key to suppress notification for autogenerated incoming mails """ if self._message_route_process_autoreply(message, message_dict, routes): _logger.info( 'Ignoring email %s from %s because it seems to be an auto ' 'reply', message.get('Message-ID'), message.get('From'), ) self = self.with_context(mail_autogenerated_header=message) return super(MailThread, self).message_route_process( message, message_dict, routes, ) @api.model def _message_route_process_autoreply(self, message, message_dict, routes): """ Determine if some message is an autoreply """ return ( message['Auto-Submitted'] and message['Auto-Submitted'] != 'no' or message['X-Auto-Response-Suppress'] and set( message['X-Auto-Response-Suppress'].split(', ') ) & set('AutoReply', 'All') )