diff --git a/addons/crm/wizard/crm_forward_to_partner.py b/addons/crm/wizard/crm_forward_to_partner.py index 945066506d7..24aa7b7182e 100644 --- a/addons/crm/wizard/crm_forward_to_partner.py +++ b/addons/crm/wizard/crm_forward_to_partner.py @@ -210,7 +210,7 @@ class crm_lead_forward_to_partner(osv.osv_memory): message = [] lead_proxy = self.pool.get('crm.lead') lead = lead_proxy.browse(cr, uid, lead_id, context=context) - if lead.type == 'lead': + if not lead.type or lead.type == 'lead': field_names = [ 'partner_name', 'title', 'function', 'street', 'street2', 'zip', 'city', 'country_id', 'state_id', 'email_from', diff --git a/addons/crm/wizard/crm_send_email.py b/addons/crm/wizard/crm_send_email.py index 8d394ddcf9e..b0e5bfecad4 100644 --- a/addons/crm/wizard/crm_send_email.py +++ b/addons/crm/wizard/crm_send_email.py @@ -94,8 +94,6 @@ class crm_send_new_email(osv.osv_memory): if context.get('mail', 'new') == 'new': if len(case.message_ids): message_id = case.message_ids[0].message_id - else: - message_id = "<%s-openerp-@%s-%s-%d>" % (time.time(), cr.dbname, model, res_id) else: hist = hist_obj.browse(cr, uid, res_id) message_id = hist.message_id @@ -116,10 +114,10 @@ class crm_send_new_email(osv.osv_memory): subject=obj.subject, email_from=email_from, \ message_id=message_id, attach=attach) - x_headers = dict() - #x_headers = { - # 'Reply-To':"%s" % case.section_id.reply_to, - #} + x_headers = { + 'model': model, + 'resource-id': res_id + } if message_id: x_headers['References'] = "%s" % (message_id) diff --git a/addons/mail_gateway/mail_gateway.py b/addons/mail_gateway/mail_gateway.py index 8f51b627ef6..76b35c630ee 100644 --- a/addons/mail_gateway/mail_gateway.py +++ b/addons/mail_gateway/mail_gateway.py @@ -23,12 +23,8 @@ from osv import osv, fields import time import tools import binascii -import socket import email from email.header import decode_header -import netsvc - -logger = netsvc.Logger() import base64 import re @@ -228,8 +224,6 @@ class mailgate_tool(osv.osv): """ message = email.message_from_string(str(msg)) subject = '['+str(res_id)+'] '+ self._decode_header(message['Subject']) - message['Message-Id'] = '<' + str(time.time()) + '-openerp-' + \ - model + '-' + str(res_id) + '@'+socket.gethostname() + '>' msg_mails = [] mails = [self._decode_header(message['From']), self._decode_header(message['To'])]+self._decode_header(message.get('Cc', '')).split(',') for mail in mails: @@ -239,15 +233,19 @@ class mailgate_tool(osv.osv): message['body'] = message.get_payload(decode=True) if encoding: message['body'] = message['body'].decode(encoding).encode('utf-8') - + + x_headers = { + 'model': model, + 'resource-id': res_id + } try: - tools.email_send(email_default or tools.config.get('email_from', None), msg_mails, subject, message.get('body')) + tools.email_send(email_default or tools.config.get('email_from', None), msg_mails, subject, message.get('body'), x_headers=x_headers) except Exception, e: if email_default: temp_msg = '['+str(res_id)+'] ' + self._decode_header(message['Subject']) del message['Subject'] message['Subject'] = '[OpenERP-FetchError] ' + temp_msg - tools.email_send(email_default, email_default, message.get('Subject'), message.get('body')) + tools.email_send(email_default, email_default, message.get('Subject'), message.get('body'), x_headers=x_headers) return True def process_email(self, cr, uid, model, message, attach=True, server_id=None, server_type=None, context=None): @@ -282,7 +280,7 @@ class mailgate_tool(osv.osv): } data.update(self.get_partner(cr, uid, msg.get('from'), context=context)) res_id = model_pool.create(cr, uid, data, context=context) - logger.notifyChannel('imap', netsvc.LOG_WARNING, 'method def message_new is not define in model %s. Using default method' % (model_pool._name)) + att_ids = [] if attach: for attachment in msg.get('attachments', []): @@ -421,7 +419,6 @@ class mailgate_tool(osv.osv): if hasattr(model_pool, 'message_update'): model_pool.message_update(cr, uid, [history.res_id], vals, msg, context=context) else: - logger.notifyChannel('imap', netsvc.LOG_WARNING, 'method def message_update is not define in model %s' % (model_pool._name)) return False else: res_id = create_record(msg)