diff --git a/openerp/tools/misc.py b/openerp/tools/misc.py index c9283a839d4..ba6ea1137d1 100644 --- a/openerp/tools/misc.py +++ b/openerp/tools/misc.py @@ -27,12 +27,11 @@ Miscellaneous tools used by OpenERP. """ from functools import wraps -import inspect import subprocess import logging import os +import random import re -import smtplib import socket import sys import threading @@ -40,13 +39,6 @@ import time import zipfile from collections import defaultdict from datetime import datetime -from email.MIMEText import MIMEText -from email.MIMEBase import MIMEBase -from email.MIMEMultipart import MIMEMultipart -from email.Header import Header -from email.Utils import formatdate, COMMASPACE -from email import Utils -from email import Encoders from itertools import islice, izip from lxml import etree from which import which @@ -363,7 +355,12 @@ def generate_tracking_message_id(res_id): Used to track the replies related to a given object thanks to the "In-Reply-To" or "References" fields that Mail User Agents will set. """ - return "<%s-openerp-%s@%s>" % (time.time(), res_id, socket.gethostname()) + try: + rnd = random.SystemRandom().random() + except NotImplementedError: + rnd = random.random() + rndstr = ("%.15f" % rnd)[2:] + return "<%.15f.%s-openerp-%s@%s>" % (time.time(), rndstr, res_id, socket.gethostname()) def email_send(email_from, email_to, subject, body, email_cc=None, email_bcc=None, reply_to=False, attachments=None, message_id=None, references=None, openobject_id=False, debug=False, subtype='plain', headers=None,