diff --git a/addons/mail/models/mail_mail.py b/addons/mail/models/mail_mail.py index 0c31e94428e..7673cfcae9b 100644 --- a/addons/mail/models/mail_mail.py +++ b/addons/mail/models/mail_mail.py @@ -494,7 +494,7 @@ class MailMail(models.Model): # Then find the mail server for each email_from and group the # per mail_server_id and smtp_from - mail_servers = self.env['ir.mail_server'].sudo().search([], order='sequence') + mail_servers = self.env['ir.mail_server'].sudo().search([], order='sequence, id') group_per_smtp_from = defaultdict(list) for (mail_server_id, email_from), mail_ids in group_per_email_from.items(): if not mail_server_id: diff --git a/odoo/addons/base/models/ir_mail_server.py b/odoo/addons/base/models/ir_mail_server.py index 72389b038f4..03529e9e2f9 100644 --- a/odoo/addons/base/models/ir_mail_server.py +++ b/odoo/addons/base/models/ir_mail_server.py @@ -87,7 +87,7 @@ class IrMailServer(models.Model): """Represents an SMTP server, able to send outgoing emails, with SSL and TLS capabilities.""" _name = "ir.mail_server" _description = 'Mail Server' - _order = 'sequence' + _order = 'sequence, id' NO_VALID_RECIPIENT = ("At least one valid recipient address should be " "specified for outgoing emails (To/Cc/Bcc)") diff --git a/odoo/addons/base/tests/common.py b/odoo/addons/base/tests/common.py index 83e972544ee..937479ad452 100644 --- a/odoo/addons/base/tests/common.py +++ b/odoo/addons/base/tests/common.py @@ -430,18 +430,22 @@ class MockSmtplibCase: { 'name': 'Domain based server', 'from_filter': 'test.mycompany.com', + 'sequence': 0, ** ir_mail_server_values, }, { 'name': 'User specific server', 'from_filter': 'specific_user@test.mycompany.com', + 'sequence': 1, ** ir_mail_server_values, }, { 'name': 'Server Notifications', 'from_filter': 'notifications.test@test.mycompany.com', + 'sequence': 2, ** ir_mail_server_values, }, { 'name': 'Server No From Filter', 'from_filter': False, + 'sequence': 3, ** ir_mail_server_values, }, ])